Ir para conteúdo
Fórum Script Brasil

Denis Courcy

Moderadores
  • Total de itens

    3.089
  • Registro em

  • Última visita

Tudo que Denis Courcy postou

  1. select * from alunos_disciplinas ad inner join alunos a on a.id = ad.aluno_id inner join disciplinas d on d.id = ad.disciplina_id
  2. select * from minhatabela where coluna like '%youtube%'
  3. WHERE NOT funcionários IN (SELECT DISTINCT IDFUNCIONARIOPontoGestaoNeg FROM PontoGestaoNeg)
  4. Qual atributo de atualizações estabelece ligação com cadastros? Ou seja, como você sabe que atualização pertence a qual cadastro?
  5. Como pedi no outro post, por favor publique as instruções create table das tabelas envolvidas.(campos e indices) os campos podem ter outros nomes, pois não estou interessado em seu negócio. apenas quero ajudar.
  6. Use INSTR em vez de igual $sql = mysql_query("SELECT opcao FROM tabela WHERE INSTR(opcao, campo) <> 0")
  7. Veja a última resposta que dei ao post abaixo. https://www.scriptbrasil.com.br/forum/topic/175504-select-com-ultimas-linhas-inseridas-mais-dificil-do-que-parece/
  8. <script type='text/javascript'>window.mod_pagespeed_start = Number(new Date());</script> Com base no código acima faça assim: Este primeiro select é para pegar a última visita de cada visitante.(Você não precisará dele, mas servirá de entendimento para o que virá a seguir) SELECT idVisitante, max(data_entrada) AS ultimaVisitaDesteCara FROM visita GROUP BY idVisitante Agora o código definitivo SELECT v1.nome, v2.ultimaVisitaDesteCara FROM visitante v1 INNER JOIN (SELECT idVisitante, max(data_entrada) AS ultimaVisitaDesteCara FROM visita GROUP BY idVisitante) v2 ON v2.idVisitante = v1.id O resultado será uma listagem com todos os visitantes e as datas de suas últimas visitas
  9. Use uma storage procedure com cursor e fetch.
  10. A sintaxe para pssagem de parametros usando PREPARED STATMENTs é a seguinte: EXECUTE stmt_name [USING @var_name [, @var_name] ...] Leia mais em http://dev.mysql.com/doc/refman/5.1/en/prepare.html
  11. Por favor poste as estruturas das tabelas em forma de instrução create table com os devidos indices para que eu possa pensar em uma solução. Os nomes das tabelas e os nomes dos campos podem ser fictícios. O que interessa são os campos principais e a forma como você montou o relacionamento entre as tabelas.
  12. Vou fazer com um dos parâmetros e você completa com os outros. CREATE PROCEDURE `relatorioVenda`(IN oDs_FormaPagamento VARCHAR(50), IN oDs_Status CHAR(1), IN oid_Usuario VARCHAR(10), IN oDtI DATE, IN oDtF DATE) NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER COMMENT '' BEGIN SET @meuSQL = "SELECT a.*, b.Ds_FormaPagamento, c.Ds_Login, d.No_Cliente_Rz FROM tb_venda a INNER JOIN tb_formapagamento b ON (a.id_FormaPagamento = b.id_FormaPagamento) INNER JOIN tb_usuario c ON (a.id_Usuario = c.id_Usuario) INNER JOIN tb_cliente d ON (a.id_Cliente = d.id_Cliente) "; IF oDs_FormaPagamento <> "" THEN SET @meuSQL = CONCAT(@meuSQL, " WHERE b.Ds_FormaPagamento = oDs_FormaPagamento "); END IF; SET @meuSQL = CONCAT(@meuSQL, " ORDER BY a.id_Venda"); PREPARE stmt FROM @meuSQL; EXECUTE stmt; END;
  13. Qual a estrutura das tabelas?
  14. Seu erro começa aqui: SELECT c1.pessoa_id AS id Quando você usa o AS você está renomeando o campo da base de dados. Então, nesta linha ON tb_relatorio.pessoa_id = tb_artigo.pessoa_id Deveria ser assim: ON tb_relatorio.id = tb_artigo.pessoa_id
  15. Ok. Respondendo a pergunta Quantidade de comentários por artigo SELECT id_artigo, COUNT(comentario) AS qtdcomentarios FROM tb_comentario GROUP BY id_artigo ORDER BY qtdcomentarios DESC Sabendo o descritivo do artigo SELECT a.descricao, c.qtdcomentarios FROM tb_artigo a INNER JOIN (SELECT c1.id_artigo, COUNT(c1.comentario) AS qtdcomentarios FROM tb_comentario c1 GROUP BY id_artigo) c ON c.id_artigo = a.id_artigo ORDER BY c.qtdcomentarios DESC Com base no que postei acima, tente responder a segunda pergunta.
  16. Isto não é ajuda. é fazer o dever de casa pra você, não? Mostre o que você já fez e prosseguiremos daí.
  17. Você criou estas duas funções? on cursos(id) = item_pedido(id_curso) and pedido(id) = item_pedio(id_pedido)
  18. No primeiro exemplo (pdf) que você postou no tópico, você vinculou a tabela pessoa com o endereço ... se você vinculasse a tabela PF E PJ (especialização) com a endereço? Como ficaria? Resp a pergunta 1: Neste caso você estaria criando um relacionamento N:1 com Endereco (varios fornecedores e/ou clientes poderiam ter um mesmo endereço). Para isto a FK id_pessoa deveria ficar em Pessoa (generalização) e não nas especializações) Quando você colocar um atributo em uma tabela especializada pergunte-se antes se este atributo está atendendo somente àquela especialização. Se a resposta for que o atributo atende a todas as especializações, então o atributo pertence a generalização. Do jeito que está uma ligação 1:1 usando uma tabela intermediária (n:m) não criaria nenhum sacrifício de performance significativo e seu sistema já estaria pronto a receber mais de um endereço por fornecedor caso a regra de negócio mude.
  19. Isto está com cara de trabalho escolar. Poste o que você fez e qual sua dúvida e prosseguiremos de lá.
  20. Tente assim: SELECT c. *, hc.total_compras FROM `campanhas` c LEFT JOIN (SELECT idhistorico_campanha, COUNT(idhistorico_campanha) AS `total_compras` FROM historico_campanha GROUP BY idhistorico_campanha) hc ON hc.idhistorico_campanha = c.idcampanha ORDER BY `data_campanha` DESC
  21. Eu utilizo um único usuário nu mysql e uma base de dados com os uauários e as permissões de acesso. Acho muito mais simples. Porém, se você insiste em sua empreitada leia o artigo neste link. http://www.linhadecodigo.com.br/artigo/1703/classe-php-para-conexao-com-o-mysql.aspx
×
×
  • Criar Novo...