Consulta SQL

Hola Gaunmanuel, tengo una duda, quiero hacer una consulta entre 3 tablas, te voy a escribir la consulta para que la veas es:
Select *
FROM tabla1,tabla2,tabla3
WHERE tabla1.1=tabla2.1
AND tabla2.2=tabla3.2
Hasta ahí todo bien, pero después, de ese select que hago, ¿me aparece una lista ok? De esa lista supongamos:
2 manzanas
3 plátanos
4 peras
6 plátanos
Yo quisiera que la misma consulta me desplegara la suma de las frutas iguales, o sea:
2 manzanas
9 plátanos
4 peras...
Espero me haya explicado con el ejemplo, que en el select aparte de desplegarme la lista me junte los que son iguales y los sume, gracias por todo, Ciao

1 respuesta

Respuesta
1
Necesito que me mandes que pones en el select .....
Mandame el nombre de los campos que pones en el select y descríbeme que te arroja cada campo. Ok
porque se me hace raro que no te funcione...
Si mira:
Select count (cantidad), cantidad, id_prod, producto, unidad, color, no_requisicion,no_requi,nombre
From REQUISICION,REQ_DETALLE,PRODUCTO
WHERE Fecha BETWEEN '01/01/2004'
AND '01/01/2005'
AND No_requisicion=No_requi
AND Nombre=Producto
group by cantidad, id_prod, producto, unidad,color,no_requisicion,no_requi,
nombre...
Ese es mi select y efectivamente me muestra el detalle de la requisicion:
Por ejemplo:
---------------------------------------
Cant. Producto Unidad Color No_requi
2 Pluma Caja Azul 0021
3 Lápiz Pieza Rojo 0022
4 Pluma Caja Azul 0023
6 Pluma Caja Negro 0024
---------------------------------------
Yo quiero que me salga:
Cant. Producto Unidad Color No_requi
6 Pluma Caja Azul -----
3 Lápiz Pieza Rojo 0022
6 Pluma Caja Negro 0024
---------------------------------------
¿Si me explico que es lo quiero y que es lo que me sale? Porque yo también pienso que debe ser una sintaxis sencilla, pero no se lo que hago mal, gracias y disculpa por las molestias
Igualmente yo soy sinaloense pero estoy en el df, si mira efectivamente sale lo que tu dices, ahora lo interesante creo yo, seria hacer el select entre 3 tablas y agruparlo por producto, unidad y color y sumando su campo cantidad, :) ¿Es difícil?
Hola de nuevo, hice lo que me dijiste, pero por ejemplo el resultado me pone:
1 lápiz rojo
2 lápiz rojo
4 lápiz azul
1 pluma negra
3 pluma azul
O sea no me sumo la cantidad de los mismo productos.. necesito que salga:
3 lápiz rojo
4 lápiz azul
1 pluma negra
3 pluma azul, si me entiendes, o sea si me las pone una después de la otra, pero no me suma las que son iguales, ¿cómo será?
Bueno Buenos Días aquí en Baja California no se donde tu estés...
Vamos hacerlo por partes:
1.- Select count(producto), producto from ... solo usa este campo y ves que te arroja no pongas los demas campos ok. Con esto debera salirte:
12 pluma
3 lápiz
Te pondrá doce porque solo se agrupara por producto ok
¿Dime qué paso?
Le pondrás lo siguiente le pones un count(manzanas) y lo agrupas:
Ejemplo
Select count(campo), campo from tabla
group by campo
El resultado sera:
5 manzanas.
Si me explique le das un count al campo que te arroja las frutas y luego lo agrupas. Ok
Hola de nuevo, ¿cómo estas? Mira hay detalles que no me salen, por ejemplo, si pongo solo en el select el Count, o sea.. Select count(campo), me dice que no encuentra los campos restantes de las 3 tablas, o sea que se los tengo que poner todos y es mucho rollo, te voy a decir exactamente lo que quiero, tengo 3 tablas, REQUISICION, REQ_DETALLE, PRODUCTO, entonces REQUISICION tiene como campos NO_REQUISICION, ÁREA, TOTAL, FECHA, STATUS, REQ_EXTR.. REQ_DETALLE tiene como campos NO_REQUI, CANTIDAD, PRODUCTO, PRECIO, COLOR, UNIDAD, PROVEEDOR, TOTAL y la tabla PRODUCTO tiene PROVEEDOR, NOMBRE Y PRECIO... ¿ok? Tengo una forma donde realizo requisiciones, para cada requisicion hago selección de productos y al salvar la requisicion, me salva la tabla requisicion y req_detalle, entonces... después quiero hacer una consulta donde entre tales fechas me seleccione el detalle de las requisiciones y lo que hago es ...
Select *
From REQUISICION,REQ_DETALLE,PRODUCTO
WHERE Fecha BETWEEN '01/01/2004'
AND '01/01/2005'
AND No_requisicion=No_requi
AND Nombre=Producto
este select me muestra lo que deseo, ¿Qué es el detalle de las requisiciones entre fechas ok? Pero existe algunas requisiciones que por ejemplo me piden:
1 lápiz
2 plumas
Y otra requisicion donde me piden
4 lápiz
5 plumas
Y deseo que me las junte como:
5 lápiz
6 plumas
Pero por ejemplo hay veces que me piden 4 plumas rojas y otras son azules, o sea que se agruparía solo por producto y no por color y la verdad como me dijiste no me salio tal vez porque son varias tablas o porque el count hace que mi campo sea integer y yo lo deseo agrupar con un campo string, la verdad no se, pero si pudieras checar mi ejemplo en particular que es lo que pasa te lo agradecería mucho, nos vemos
El ejemplo que te envíe debe funcionar si entendí bien tu pregunta y debe funcionar. No me dices que error te marca, pero lo más probable es que te diga "Not a Group By expression" ok
Todos los campos que tienes en el select tambien deberan estar en el Group by: ejemplo
SELECT campo_id, count(campo_descripcion), campo_descripcion
FROM requisicion, req_detalle, producto
WHERE fecha BETWEEN '01/01/2004' AND '01/01/2005'
AND no_requisicion = no_requi
AND nombre = producto
group by campo_id, campo_descripcion
Suponiendo que campo_id es cualquier otro campo y campo_descripcion es el ejemplo que me menciones:
Count(campo_descripcion) = al numero (1,2,3.....etc)
campo_descripcion = (Lapiz,Plumas...etc).
Entonces el problema es que te marca es porque no haz puesto todo los campos que tienes en el select en el group by.. ok
espero con esto funcione..

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas