Ir para conteúdo

POWERED BY:

Arquivado

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

feasso

Select Distinct server para 2 campos?

Recommended Posts

Tenho uma select que me retorna 5 campos.

 

Como faço para que ela não traga quando 2 campos forem iguais ???

 

NÃO TRAZER

 

1000 3000 FERNANDO

1000 3000 FABIANA

 

 

TRAZER

1000 3000 FERNANDO

1000 2500 FABIANA

 

Quando os dois primeiro campos forem iguais, não trazer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se voce fosse pegar so estes dois campos poderia usar o distinct mas se for pegar mais um como no exemplo ai nao rola dessa forma

Compartilhar este post


Link para o post
Compartilhar em outros sites

É apenas quando os dois campos forem iguais.

 

O problema é que são 2 selects unidas através do UNION ALL.

 

E os resultados se repetem quando na tabela 2 há dados iguais ao da tabela 1.

Compartilhar este post


Link para o post
Compartilhar em outros sites

post o que fez ate o momento

Compartilhar este post


Link para o post
Compartilhar em outros sites

São 2 selects unificadas com o UNION ALL

 

SET DATEFORMAT dmy;
SELECT p.ID_Vendedor, f.ID_Pedido, tnf.Num_NotaFiscal, c.NomeRaz_Cliente,c.Fantasia_Cliente, f.Data_Fatura,f.ID_Entrega FROM TFatura f inner join tpedido p on p.id_pedido = f.id_pedido inner join tcliente c on c.id_cliente = p.id_cliente inner join tcfop2 tcf2 on tcf2.id_cfop = f.id_cfop inner join tFaturaPedido tfp on tfp.Id_Fatura = f.Id_Fatura inner join TNotaFiscal tnf on tnf.ID_FaturaPedido = TFP.ID_FaturaPedido WHERE Data_Fatura >= '01/07/2008' AND tcf2.geracr_cfop <> 0 AND Data_Fatura <= '30/07/2008' AND p.ID_Vendedor = 23 AND (Status_Fatura = 2 OR Status_Fatura = -1) AND tnf.Status_NotaFiscal = 1

union all 

SELECT p.ID_Vendedor, f.ID_Pedido, '', c.NomeRaz_Cliente,c.Fantasia_Cliente, f.Data_Fatura,f.ID_Entrega FROM TFatura f inner join tpedido p on p.id_pedido = f.id_pedido inner join tcliente c on c.id_cliente = p.id_cliente inner join tcfop2 tcf2 on tcf2.id_cfop = f.id_cfop inner join tFaturaPedido tfp on tfp.Id_Fatura = f.Id_Fatura inner join TComprovante tc on tc.ID_Pedido = p.Id_pedido WHERE Data_Fatura >= '01/07/2008' AND tcf2.geracr_cfop <> 0 AND Data_Fatura <= '30/07/2008' AND p.ID_Vendedor = 23 AND (Status_Fatura = 2 OR Status_Fatura = -1)

O problema é o seguinte: quanto a primeira select já estiver trazido o resultado, a 2ª não deverá repetir.

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.