Bom dia, o titulo ficou meio vago mas nao consegui achar um titulo melhor… o que quero fazer é montar um sql que me retorne a data da ultima venda de cada cliente… prém existem 2 tabelas de venda: CUPOMFISCAL e NOTAFISCAL
aonde em cada uma dessas 2 tabelas tem a data da venda e o codigo do cliente:
Como eu poderia fazer por sql?
Duvida com sql - Juntar datas de 2 tabelas diferentes
4 Respostas
Nesse caso, vc tem campos iguais a serem retornados, use UNION no seu SQL
Olá, vc pode fazer o sequinte
(SELECT … FROM …) AS …
UNION
(SELECT … FROM …) AS …
O alias não e obrigatório mas eu gosto de usar, lembrando que os campos devem ser iguais.
É isso?
Fiz usando o union, está quase como eu quero, porém ele traz varios registros duplicados dos nomes, eu gostaria de que fosse somente o ultimo…
Select que eu usei:
select cli.nome,cli.telefone,cup.dataCupom from cupom cup
inner join cliente cli on cli.idCliente=cup.idCliente
union
select cli.nome,cli.telefone,nf.dataNf from notafiscal nf
inner join cliente cli on cli.idCliente=nf.idCliente
order by 3 desc
Ele está trazendo assim, por exemplo:
Mateus - 33445566 - 12-10-2012
Mateus - 33445566 - 11-10-2012
Paula - 34567890 - 10-10-2012
…
faz um group by
select cli.nome,cli.telefone,cup.dataCupom from cupom cup
inner join cliente cli on cli.idCliente=cup.idCliente
group by cli.nome,cli.telefone,cup.dataCupom
union
select cli.nome,cli.telefone,nf.dataNf from notafiscal nf
inner join cliente cli on cli.idCliente=nf.idCliente
group by cli.nome,cli.telefone,cup.dataCupom
order by 3 desc
Criado 20 de novembro de 2012
Ultima resposta 20 de nov. de 2012
Respostas 4
Participantes 4