Autor
|
Tema: AYUDA CON UNA CONSULTITA SQL (Leído 3,679 veces)
|
John_Salchichon
Desconectado
Mensajes: 7
|
El tema es asi, para cada "proveedor" mostrar sus datos (todos) y la menor entrega hecha de componentes de cada uno de ellos.
Las tablas son:
Proveedores (codProv, nomProv, dirProv, telProv) Prov-Gen-Comp (codProv, codGen, numSerComp, fecha, cant)
de donde la cantidad de componentes entregados es la columna "cant" de la tabla Prov-Gen-Comp
entonces lo que hice fue:
SELECT P.*, PGC.cant FROM PROVEEDORES P, PROV_GEN_COMP PGC WHERE P.codprov = PGC.codprov AND PGC.cant = (SELECT MIN (PGC.cant) FROM PROV_GEN_COMP);
como no me dejo hacerle un MIN en la primer linea sin ponerle al final un group by, me decidi a hacer una subconsulta por probar y si me deja sin problemas, pero ahora el tema es que me lista TODOS los proveedores, por ejemplo lo que me esta devolviendo la consulta asi como esta es: CODPROV NOMPROV DIRPROV TELPROV CANT ---------------------- ------------------------------ ------------------------------ ------------------------------ ---------------------- 3 Cuqui Lacalle Av.Italia 1223 225321 2 12 Horacio Peralta Mariano Uriarte 8754 2623145 4 4 Tanque Silva Jackson 5523 24112365 5 8 Pato Sosa Yi esq. 18 de julio 2745232 6 5 Sebastian Viera Cerro Largo 1524 2147823 7 3 Cuqui Lacalle Av.Italia 1223 225321 8
6 filas seleccionadas
cuando solo deberia mostrar una sola vez Cuqui Lacalle con la menor entrega, o sea 3 junto con los demas... o sea tendrian q aparecer todos esos menos cuqui lacalle con 8 entregas.. no se si se entiende..
alguna idea de como solucionar esto o pista a ver en que le estoy errando?
Gracias!
|
|
« Última modificación: 13 Junio 2011, 04:45 am por John_Salchichon »
|
En línea
|
|
|
|
VCore
Desconectado
Mensajes: 71
|
No termino de entender que es lo que querés proyectar.
En español la consulta sería: "Dame la información del proveedor que tiene menos entregas hechas, agregándole el número de componentes entregados" o "Dame la información de todos los proveedores, agregando el número de componentes entregados" ?
De última pega el resultado que queres ver con tu consulta, onda:
CODPROV NOMPROV DIRPROV TELPROV CANT ---------------------- ------------------------------ ------------------------------ ------------------------------ ---------------------- 3 Cuqui Lacalle Av.Italia 1223 225321 2
|
|
« Última modificación: 13 Junio 2011, 05:40 am por VCore »
|
En línea
|
|
|
|
John_Salchichon
Desconectado
Mensajes: 7
|
es asi:
Para cada proveedor mostrar sus datos y la menor entrega hecha de componentes de cada uno de ellos.
y deberia retornar:
---------------------- ------------------------------ ------------------------------ ------------------------------ ---------------------- 3 Cuqui Lacalle Av.Italia 1223 225321 2 12 Horacio Peralta Mariano Uriarte 8754 2623145 4 4 Tanque Silva Jackson 5523 24112365 5 8 Pato Sosa Yi esq. 18 de julio 2745232 6 5 Sebastian Viera Cerro Largo 1524 2147823 7
|
|
« Última modificación: 13 Junio 2011, 06:03 am por John_Salchichon »
|
En línea
|
|
|
|
bomba1990
|
creo que por lo que has dicho con un group by y un min, puedes hacer lo que quieres, agrupas todos para que te salgan una sola ves, y un min te sale el que menos trae, porque no quieres hacer un group by?
|
|
|
En línea
|
|
|
|
John_Salchichon
Desconectado
Mensajes: 7
|
Donde iria el group by? es que nunca lo use mucho aun, lo puse en la consulta y me tiro error
|
|
|
En línea
|
|
|
|
John_Salchichon
Desconectado
Mensajes: 7
|
listo ya lo solucione con el group by:
SELECT P.CODPROV, P.DIRPROV, P.NOMPROV, P.TELPROV, MIN(PGC.cant) FROM PROVEEDORES P, PROV_GEN_COMP PGC WHERE P.codprov = PGC.codprov GROUP BY P.CODPROV, P.DIRPROV, P.NOMPROV, P.TELPROV;
estaba tratando de hacer group by con P.* y me daba error, habia que escribir todos los campos, ese era el problema.. muchas gracias!
|
|
|
En línea
|
|
|
|
bomba1990
|
supongo que con poner solamente groupby codprov pues suficiente, porque si por cosa de la vida dos empresas diferentes tienen el mismo direccion o nombre o x, pues te va a acausar un pequeño problema, el groupby solo al cod va a ser mas que suficiente, ademas pones al motor a trabajar menos.
|
|
|
En línea
|
|
|
|
John_Salchichon
Desconectado
Mensajes: 7
|
probe con agruparlo solo con codprov como decis pero el oracle me larga un error, cuando los pongo a todos no... sera que funciona asi oracle?
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
una consultita
Programación Visual Basic
|
satan69
|
8
|
2,557
|
2 Mayo 2007, 14:46 pm
por dimitrix
|
|
|
[Ayuda] Necesito ayuda para crear un buen video uso AF y Flash.
Diseño Gráfico
|
XXXXXX
|
1
|
5,526
|
11 Noviembre 2009, 00:17 am
por Sub_Cero
|
|
|
Ayuda por davor ayuda os ruego ayuda XD (SOLUCIONADO)
Hardware
|
XxRekcahlExX
|
6
|
10,609
|
24 Mayo 2010, 00:56 am
por Aprendiz-Oscuro
|
|
|
AYUDA CON OTRA CONSULTITA SQL
Bases de Datos
|
John_Salchichon
|
4
|
4,258
|
16 Junio 2011, 13:44 pm
por KuraraGNU
|
|
|
Una consultita
Redes
|
galo1963
|
9
|
4,349
|
8 Octubre 2018, 10:13 am
por chapo
|
|