Ir para conteúdo

POWERED BY:

Arquivado

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

Carcinosi

Preciso fazer um SELECT e não estou conseguindo

Recommended Posts

Olá pessoal,

 

Há muito tempo não trabalhava com BD's a fundo e estou precisando fazer um SELECT, mas acho que estou confundindo tudo.

 

Tenho as seguintes tabelas com as respectivas colunas.

 

TABELA1

-----------

cust_email

cust_custnr

 

 

TABELA2

-----------

cpack_usernr

cpack_canceldate

 

Preciso fazer um SELECT que liste o conteúdo de cust_email da TABELA1, sendo que cust_custnr da TABELA1 seja igual ao cpack_usernr da TABELA2.

 

Mas APENAS seja listado se cpack_canceldate da TABELA2 seja diferente de 0000-00-00 (data).

 

Tentei algo assim:

 

SELECT TABELA1.cust_email, TABELA1.cust_custnr, TABELA2.cpack_usernr FROM TABELA1 INNER JOIN TABELA2 ON TABELA1.cust_custnr = TABELA2.cpack_usernr AND TABELA2.cpack_canceldate != "0000-00-00" GROUP BY TABELA1.cust_custnr, TABELA1.cpack_usernr;
Retorna:

 

MySQL said: Documentation

#1054 - Unknown column 'TABELA1.cpack_usernr' in 'group statement'

Agradeço de antemão por qualquer ajuda disponibilizada.

 

Um abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Operador que compara diferenças é o <> e não o !=

 

Tente assim:

SELECT *FROM TABELA1 a, TABELA2 bWHERE a.cust_custnr = b.cpack_usernrAND b.cpack_canceldate <> '0000-00-00'GROUP BY a.cust_custnr

Flws...

:D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Operador que compara diferenças é o <> e não o !=

 

Tente assim:

SELECT *FROM TABELA1 a, TABELA2 bWHERE a.cust_custnr = b.cpack_usernrAND b.cpack_canceldate <> '0000-00-00'GROUP BY a.cust_custnr
Flws...

:D

Troquei != por <>, tudo ok. Obrigado.

 

Certo, quase lá. Agora preciso que retorne apenas os e-mails, mantendo a ordem do GROUP BY TABELA1.cust_custnr, TABELA1.cpack_usernr, mas que não sejam mostradas estas colunas. APENAS e-mail.

 

Seu exemplo é prático, mas eu quero apenas que sejam retornados os e-mails.

 

Grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se meu exemplo te atendeu, tente assim para resolver completamente:

SELECT a.cust_emailFROM TABELA1 a, TABELA2 bWHERE a.cust_custnr = b.cpack_usernrAND b.cpack_canceldate <> '0000-00-00'GROUP BY a.cust_custnr

Flws...

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se meu exemplo te atendeu, tente assim para resolver completamente:

SELECT a.cust_emailFROM TABELA1 a, TABELA2 bWHERE a.cust_custnr = b.cpack_usernrAND b.cpack_canceldate <> '0000-00-00'GROUP BY a.cust_custnr
Flws...;)
Certinho assim, boa. ;) Abração.

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.