Carcinosi 0 Denunciar post Postado Agosto 28, 2007 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
Paulo André 0 Denunciar post Postado Agosto 29, 2007 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
Carcinosi 0 Denunciar post Postado Agosto 29, 2007 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_custnrFlws...: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
Paulo André 0 Denunciar post Postado Agosto 29, 2007 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
Carcinosi 0 Denunciar post Postado Agosto 29, 2007 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_custnrFlws...;)Certinho assim, boa. ;) Abração. Compartilhar este post Link para o post Compartilhar em outros sites