Query SQL
25/09/2015
0
- CLIENTE
ID_CLIENTE
CPF
NOME
DATA_NASCIMENTO
SEXO (MASCULINO/FEMININO)
LIMITE_AUTORIZADO
LIMITE_UTILIZADO
SITUACAO_CLIENTE (B-BLOQUEADO/A-ATIVO/C-CANCELADO)
- CLIENTE_CARTAO
ID_CLIENTE
ID_CARTAO
- COMPRA
ID_COMPRA
ID_LOJA
ID_CARTAO
DATA_DA_COMPRA
VALOR_DA_COMPRA
ID_FATURA
Qual a melhor maneira para fazer?
Grato.
Renato Ranzani
Posts
25/09/2015
Gilson Jr
Eu faria usando inner join, Faria desta forma
SELECT C.ID_CLIENTE AS 'Código Cliente', C.CPF AS 'CPF Cliente', CP.VALOR_ULTIMA_COMPRA AS 'Última Compra'
FROM CLIENTES C
INNER JOIN CLIENTE_CARTAO CC ON CLIENTE.ID_CLIENTE = CLIENTE_CARTAO.ID_CLIENTE
INNER JOIN COMPRA CP ON CLIENTE_CARTAO.ID_CARTAO = COMPRA.ID_CARTAO
Espero ter ajudado.
25/09/2015
Renato Ranzani
Eu faria usando inner join, Faria desta forma
SELECT C.ID_CLIENTE AS 'Código Cliente', C.CPF AS 'CPF Cliente', CP.VALOR_ULTIMA_COMPRA AS 'Última Compra'
FROM CLIENTES C
INNER JOIN CLIENTE_CARTAO CC ON CLIENTE.ID_CLIENTE = CLIENTE_CARTAO.ID_CLIENTE
INNER JOIN COMPRA CP ON CLIENTE_CARTAO.ID_CARTAO = COMPRA.ID_CARTAO
Espero ter ajudado.
Mas assim você não está trazendo o valor da última compra (baseado na DATA_DA_COMPRA da tabela COMPRA)!
26/09/2015
Hector Figueroa
select cl.id_cliente, cl.cpf, cl.nome, co.valor_da_compra VALOR_ULTIMA_COMPRA from TESTE_COMPRA co inner join (select cc.id_cliente, co.id_cartao, max(co.data_da_compra) dataUltimaCompra from TESTE_COMPRA co inner join TESTE_CLIENTE_CARTAO cc on cc.id_cartao = co.id_cartao group by cc.id_cliente, co.id_cartao) ultimaCompra on ultimaCompra.id_cartao = co.id_cartao and ultimaCompra.dataUltimaCompra = co.data_da_compra inner join TESTE_CLIENTE cl on cl.id_cliente = ultimaCompra.id_cliente;
Clique aqui para fazer login e interagir na Comunidade :)