MySQL - Consulta sobre articulos/proveedor

 
Vista:

Consulta sobre articulos/proveedor

Publicado por theos (3 intervenciones) el 07/11/2007 10:00:11
Partiendo de estas tablas:

Pedidos
-------
id fecha id_arti cant
1 01/11/07 1 5
2 01/11/07 2 3
3 02/11/07 3 15

articulos
----------
id descripcion
1 a1
2 a2
3 a3

proveedores
-----------
id nombre
1 p1
2 p2
3 p3

arti_prov
----------
id id_arti id_prov fecha_ult_com
1 1 1 01/10/07
2 1 2 02/10/07
3 1 3 03/10/07
4 2 3 01/09/07
5 2 1 02/09/07
6 2 2 03/09/07
7 3 3 01/08/07
8 3 2 02/08/07
9 3 1 03/08/07

Quiero sacar una relacion de los pedidos y por cada articulos saque el ultimo proveedor que se compro y la fecha. Este deberia ser el resultado:

fecha arti cant prov Ult_fecha
01/11/07 a1 5 p3 03/10/07
01/11/07 a2 3 p2 03/09/07
02/11/07 a3 15 p1 03/08/07

Tampoco lo consigo intentadolo de forma mas simple solo con la tabla arti_prov, seguramente resolviendo la anterior consulta, con esta no tendria ninguna duda. Este deberia ser el resultado:

id_arti id_prov ult_fecha
1 3 03/10/07
2 2 03/09/07
3 1 03/08/07

Uso mysql 5.0

Gracias por aticipado
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Consulta sobre articulos/proveedor

Publicado por theos (1 intervención) el 12/11/2007 17:11:25
He conseguido que funcione la segunda consulta, la que es mas simple, ya que solo accede a una tabla, aunque el metodo me parece algo rocambolesco:

SELECT id_arti, id_prov, f_ult_compra
FROM t1 as a
where a.f_ult_compra = (
select max(f_ult_compra) from t1 as b where a.id_arti=b.id_arti)

¿ Hay alguna otra forma de hacerlo ? o si como está es correcto ¿cual es la mejor estrategia para el indice ?
f_ult_compra + id_arti + id_prov

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar