montano 0 Denunciar post Postado Novembro 10, 2009 Tenho um Select union que quando eu executo me retorna menos linhas doque quando nao tem o union retorna 55 linhas SELECT n_contrato FROM contrato_tv WHERE substring( data_situacao , 1 , 7 ) = '2009-10' AND situacao NOT IN (SELECT cod FROM situacoes WHERE representacao = '3') AND data_agendamento != '0000-00-00' UNION SELECT n_contrato FROM backlog_tv WHERE substring( data_situacao , 1 , 7 ) = '2009-10' AND situacao NOT IN (SELECT cod FROM situacoes WHERE representacao = '3') AND data_agendamento != '0000-00-00' Retorna 59 linhas SELECT n_contrato FROM contrato_tv WHERE substring( data_situacao , 1 , 7 ) = '2009-10' AND situacao NOT IN (SELECT cod FROM situacoes WHERE representacao = '3') AND data_agendamento != '0000-00-00' OBS: Se eu selecionar o cod junto, digamos cod e n_contrato ai ele me acha certo os 59. Porque preciso ter o cod que seria a PK junto na consulta? Obrigado pela atenção.. Agradeço mt Compartilhar este post Link para o post Compartilhar em outros sites
giesta 29 Denunciar post Postado Novembro 13, 2009 UNION tem um group by imbutido nele, sendo assim mto provavelmente você tem linha duplicada na sua tabela. Para nao usar o agrupamento imbutido... SELECT n_contrato FROM contrato_tv WHERE substring( data_situacao , 1 , 7 ) = '2009-10' AND situacao NOT IN (SELECT cod FROM situacoes WHERE representacao = '3') AND data_agendamento != '0000-00-00' UNION ALL SELECT n_contrato FROM backlog_tv WHERE substring( data_situacao , 1 , 7 ) = '2009-10' AND situacao NOT IN (SELECT cod FROM situacoes WHERE representacao = '3') AND data_agendamento != '0000-00-00' Compartilhar este post Link para o post Compartilhar em outros sites