Ir para conteúdo

POWERED BY:

Arquivado

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

Teacher Nick

exibindo última compra de cada cliente

Recommended Posts

Ola pessoal boa tarde....

 

tenho duas tabelas no meu bd mysql

 

1 - tbclientes com os campos (cliente, codigocliente)

ex:

-----------------------------------------

id_cliente | cliente | codigocliente |

-----------------------------------------

1 | maria | 2225 |

-----------------------------------------

2 | joana | 2226 |

-----------------------------------------

3 | marcia | 2227 |

----------------------------------------

 

2 - tbcompras com os campos(codigocliente, compra, data, hora,produto)

 

---------------------------------------------------------------------------------

id_compra | codigocliente | Compra | data | hora | produto |

---------------------------------------------------------------------------------

1 | 2226 | Compra | 22/05/2008 | 12:35 | 025 |

---------------------------------------------------------------------------------

2 | 2227 | Compra | 20/04/2008 | 19:25 | 185 |

---------------------------------------------------------------------------------

3 | 2225 | Compra | 28/05/2008 | 12:35 | 050 |

---------------------------------------------------------------------------------

4 | 2226 | Compra | 29/04/2008 | 19:25 | 025 |

---------------------------------------------------------------------------------

5 | 2225 | Compra | 29/04/2008 | 23:25 | 025 |

---------------------------------------------------------------------------------

6 | 2227 | Compra | 30/04/2008 | 19:25 | 022 |

 

 

 

Gostaria de fazer uma consulta que retornasse o nome de cada cliente com os dados de sua última compra..

consigo exibir os dados de uma compra de cada cliente tipo

 

 

SELECT * FROM tbcompras, tbclientes where tbclientes.codigocliente = tbcompras.codigocliente group by clientes desc

 

 

mas não mostra os dados da "última" compra de cada cliente

 

 

alguém pode me ajudar ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiramente sua base contem um erro , você nao deveria separar data da hora, mas partindo do pressuposto que voce vai juntar tudo em data seria algo assim:

 

 

Select

tbclientes.*, tbcompras.*,

(select codigocliente as cli , max(data) as dia_ult_compra from tbcompras group by codigocliente) as ult_compra

where

ult_compra.cli = tbclientes.codigocliente AND

ult_compra.dia_ult_compra = tbcompras.data AND

tbclientes.codigocliente = tbcompras.codigocliente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiramente sua base contem um erro , você nao deveria separar data da hora, mas partindo do pressuposto que voce vai juntar tudo em data seria algo assim:

 

 

Select

tbclientes.*, tbcompras.*,

(select codigocliente as cli , max(data) as dia_ult_compra from tbcompras group by codigocliente) as ult_compra

where

ult_compra.cli = tbclientes.codigocliente AND

ult_compra.dia_ult_compra = tbcompras.data AND

tbclientes.codigocliente = tbcompras.codigocliente

opa valew...

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.