Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

cristian07

SELECT COUNT em 2 tabelas

Recommended Posts

Ola sou novato no fórum e ja fiz uma pesquisa abrangente ate achei vários tópicos que argumentam esse assunto mais talvez por falta de experiencia não consegui chegar a solução para meu problema

Tenho esse código de um balanço

SELECT COUNT(`id`) AS qnt, nick FROM ldp  WHERE  date_sub(now(),interval $dias day)<= datacad  AND tempo >= 120 
  GROUP  BY nick HAVING qnt >= 3 ORDER BY qnt DESC
ele funciona perfeitamente gerando uma lista do banco de dados ldp mostrando os nick e a qnt que cada nick e registrado na tabela em um intervalo de dias
gostaria apenas de que esse código fizesse uma comparação com outra tabela chamada ldp2 onde tenho outro campo de nick e se um nick da tabela ldp for igual a o nick da tabela ldp2 , ele não você exibido nos resultados da consulta tentei adaptar o código dessa maneira
SELECT COUNT(a.id) AS qnt, a.nick FROM ldp a, ldp2 b  WHERE  date_sub(now(),interval 7 day)<= a.datacad  AND a.tempo >= 120 and a.nick != b.nick
  GROUP  BY nick HAVING qnt >= 3 ORDER BY qnt DESC

so que ele acaba mostrando todos nick ate os que constam na tabela ldp2 e somando valores na qnt bem bem maiores que o primeiro Código , pelo que notei ele esta duplicando os nick e contando a mais alem de mostra os nick da tabela ldp2

se alguém puder me auxilar ficaria bastante grato pois sei que provavelmente e algum erro besta que não estou conseguindo raciocinar

Compartilhar este post


Link para o post
Compartilhar em outros sites
SELECT COUNT(a.id) AS qnt, a.nick FROM ldp a
LEFT JOIN ldp2 b ON(a.nick == b.nick) 
WHERE  date_sub(now(),interval 7 day) <= a.datacad AND a.tempo >= 120 AND b.nick = NULL
GROUP BY a.nick HAVING qnt >= 3 ORDER BY qnt DESC

Tenta essa query, foi mais ou menos o que eu entendi.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.