Select .... From Group By ?

25/10/2007 - 18:21 por jmauriciopb | Informe spam
Hola.

Tengo las siguientes tablas.

Item.
iItemId cDescricion iDiaReposicion
1 Art1 5
2 Art2 10
3 Art3 8

El Campo iDiaReposicion es los dias que el Proveedor tarda en
entregarnos la Materia prima desde el pedido.

IItemStock
iItemStockId iIdItem iIdDpto nCantidad
23 1 2 150
24 1 3 400
25 2 2 130
26 2 3 320
25 3 2 50
26 3 3 220

Inv_MovC.
iMovCId dFecha.
109 2007-06-01
110 2007-06-02
111 2007-06-03
112 2007-06-03
113 2007-06-04
114 2007-06-04
Inv_MovC.dFecha solo almacena la fecha.

Inv_MovD.
iMovDId iIdMovC iIdItemStock nCantidad
304 109 23 20
305 109 24 20
306 110 25 20
307 111 23 20
308 112 24 20
309 112 26 20
310 112 23 20
311 113 25 20
312 114 23 20
312 114 24 20

Necesito sum(Inv_MovD.cantidad) de los Items Inv_MovD.iIdItemStock y
agrupar por el numero de dias Item.iDiaReposicion entre un rango de
fechas Inv_MovC.dFecha

Select iIdItemStock, Sum(nCantidad)
From Inv_MovD Inner Join Inv_MovC On Inv_MovD.iIdMovC Inv_MovC.iMovCId
Where Inv_MovC.dFecha Between '20070101' And '20070630'
Group By ?

Aqui es donde no se como hacer para agrupar por Item.iDiaReposicion
La relacion es:
Item.iItemId = IItemStock.iIdItem
IItemStock.iIdItem = Inv_MovD.iIdItemStock.
Inv_MovC.iMovC = Inv_MovD.iIdMovC

Gracias.

Mauricio Pulla.
Cuenca-Ecuador.
 

Leer las respuestas

#1 jeastman - Hotmail
25/10/2007 - 19:55 | Informe spam
Que tal mauricio.

Lo primero que tienes que hacer es incluir la tabla a la cual pertenece el
campo en el from con su respectivo inner join.

Ahora si puedes agregar la columna al group by.

Algo que debes tener en cuenta, todos los campos que pongas en el select y
no esten dentro de una función se deben colocar en el group by.


escribió en el mensaje
news:
Hola.

Tengo las siguientes tablas.

Item.
iItemId cDescricion iDiaReposicion
1 Art1 5
2 Art2 10
3 Art3 8

El Campo iDiaReposicion es los dias que el Proveedor tarda en
entregarnos la Materia prima desde el pedido.

IItemStock
iItemStockId iIdItem iIdDpto nCantidad
23 1 2 150
24 1 3 400
25 2 2 130
26 2 3 320
25 3 2 50
26 3 3 220

Inv_MovC.
iMovCId dFecha.
109 2007-06-01
110 2007-06-02
111 2007-06-03
112 2007-06-03
113 2007-06-04
114 2007-06-04
Inv_MovC.dFecha solo almacena la fecha.

Inv_MovD.
iMovDId iIdMovC iIdItemStock nCantidad
304 109 23 20
305 109 24 20
306 110 25 20
307 111 23 20
308 112 24 20
309 112 26 20
310 112 23 20
311 113 25 20
312 114 23 20
312 114 24 20

Necesito sum(Inv_MovD.cantidad) de los Items Inv_MovD.iIdItemStock y
agrupar por el numero de dias Item.iDiaReposicion entre un rango de
fechas Inv_MovC.dFecha

Select iIdItemStock, Sum(nCantidad)
From Inv_MovD Inner Join Inv_MovC On Inv_MovD.iIdMovC > Inv_MovC.iMovCId
Where Inv_MovC.dFecha Between '20070101' And '20070630'
Group By ?

Aqui es donde no se como hacer para agrupar por Item.iDiaReposicion
La relacion es:
Item.iItemId = IItemStock.iIdItem
IItemStock.iIdItem = Inv_MovD.iIdItemStock.
Inv_MovC.iMovC = Inv_MovD.iIdMovC

Gracias.

Mauricio Pulla.
Cuenca-Ecuador.

Preguntas similares