Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

A ver quien me puede ayudar con esta consulta...

Estas en el tema de A ver quien me puede ayudar con esta consulta... en el foro de Bases de Datos General en Foros del Web. Tengo estas tres tablas: pedidos: id : cliente : prospecto : comercial : fecha : formapago : checkout : notified : lastmod pedido_item: id : ...
  #1 (permalink)  
Antiguo 19/10/2005, 07:54
Avatar de yampoo  
Fecha de Ingreso: noviembre-2001
Ubicación: Vilanova i la Geltrú
Mensajes: 1.942
Antigüedad: 22 años, 5 meses
Puntos: 0
A ver quien me puede ayudar con esta consulta...

Tengo estas tres tablas:

pedidos:

id : cliente : prospecto : comercial : fecha : formapago : checkout : notified : lastmod

pedido_item:

id : pedido : articulo : cantidad : bonificado : descuento

articulos:

id : referencia : nombre : familia : precio : descuento : importado

Dando el PROSPECTO (pedidos), tendría que sacar su id, con esa id (pedidos), tendría que mirar que cosas se han pedido en pedido_item y mirar su valor en articulos (precio). Y sumar todo lo que haya ...

O sea, uno hace un pedido de 1 pc, 2 ratos.. al hacer el pedido sale el prospecto, con ese id vamos a pedido_item y se mira que ha pedido, en pedido item articulo es el id del objeto en la tabla articulos, y cantidad el numero del mismo... ¿como podría hacer eso para acabar sacando el precio de un pedido?
  #2 (permalink)  
Antiguo 19/10/2005, 08:34
Avatar de yampoo  
Fecha de Ingreso: noviembre-2001
Ubicación: Vilanova i la Geltrú
Mensajes: 1.942
Antigüedad: 22 años, 5 meses
Puntos: 0
A ver sí consigo aclararlo un poco más... les dejo una imagen con las tres tablas y lo que creo que hay que relacionar:



Y lo que debe hacer la consulta.

1.- Dando un prospecto, ejemplo 150... tendría que sacar el id del pedido, por ejemplo dando prospecto 150 sale el id de pedido 5 (todo esto en con la tabla pedidos).

2.- Teniendo el número de pedido, habría que consultar en pedido_items los artículos de lo que consta el pedido, por ejemplo, con el id pedido (tabla pedidos), salen 5 artículos (en pedido_items), y con cantidad (pedido_items) se tendría que multiplicar por el precio (articulos).

3.- Sabiendo ya los id de los pedidos (articulo en pedido_items), habría que sacar el precio de cada artículo, relacionando articulo (pedido_items) con id (articulos). Con esto creo que ya se tendría el precio, pero habría que sumar todos los precios... sí hay 5 artículos en un pedido, se tienen que sumar estos 5 articulos.

Espero haberlo aclarado, lo necesito, pero no sé por donde cojer la consulta...
  #3 (permalink)  
Antiguo 19/10/2005, 08:40
Avatar de yampoo  
Fecha de Ingreso: noviembre-2001
Ubicación: Vilanova i la Geltrú
Mensajes: 1.942
Antigüedad: 22 años, 5 meses
Puntos: 0
Bueno he consido "algo".

Código PHP:
Select
sum
(articulos.precio)
From
pedido_items
Inner Join articulos ON pedido_items
.articulo articulos.id
Inner Join pedidos ON pedidos
.id pedido_items.pedido
Where
pedidos
.id '7' 
Esto me devuelve la suma de los pedido con id 7... lo que le falta:

Que pedidos.id es 7 viene dado por mi, pero yo quiero que dando yo el pedidos.prospecto me saque el pedidos.id.

Que me multiplique la cantidad que haya de cada... a ver sí alguien me puede ayudar a completar la consulta.

Novedades... ya me hace lo que quiere, menos la primera parte, que dándole un prospecto me de el id de pedidos... poco a poco me está saliendo.

Última edición por yampoo; 19/10/2005 a las 08:46
  #4 (permalink)  
Antiguo 19/10/2005, 09:32
Avatar de Jose_minglein2  
Fecha de Ingreso: noviembre-2004
Mensajes: 2.344
Antigüedad: 19 años, 5 meses
Puntos: 8
Y porque no se lo pasas en el where, es decir:
Código:
Select
sum(articulos.precio)
From
pedido_items
Inner Join articulos ON pedido_items.articulo = articulos.id
Inner Join pedidos ON pedidos.id = pedido_items.pedido
Where
pedidos.prospecto= 'lo_que_sea'
  #5 (permalink)  
Antiguo 20/10/2005, 01:31
Avatar de yampoo  
Fecha de Ingreso: noviembre-2001
Ubicación: Vilanova i la Geltrú
Mensajes: 1.942
Antigüedad: 22 años, 5 meses
Puntos: 0
Gracias... al final salió...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:33.