Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Como realizar esta Consulta en SQL (https://www.clubdelphi.com/foros/showthread.php?t=4338)

Jose Manuel 11-10-2003 10:22:38

Como realizar esta Consulta en SQL
 
Hola, podrían ayudarme con la siguiente pregunta en SQL, el problema es que tengo una tabla con los varios campos, y pretendo obtener un listado con los datos agrupados por el campo COD_2, y ordenados por COD_1


Cod_1 cod_2 importe OTROS CAMPOS
..... ..... ....... ............
105 105.1 10 ??????????
105 105.1 5
105 105.2 20

305 305.3 10
305 305.3 2
305 305.4 1
305 305.4 5


PretendO obtener una consulta como sigue:

Cod_1 cod_2 importe OTROS CAMPOS
..... ..... ....... ............
105 105.1 15 ??????????
105 105.2 20 ??????????
305 305.3 12 ??????????
305 305.4 6 ??????????

He leido que podría hacerse con la instrucción GROUP BY, pero parece que no puedo utilizar todos los campos o no se hacerlo, pues al escribir

SELECT * FROM tabla GROUP BY cod_2 ORDER BY cod_1

me da un error, y me obliga a sustituir el asterisco por el campo Cod_2

Hay alguna forma de realizar esta consulta con una instrucción SQL.

Gracias a todos
Jose Manuel

marcoszorrilla 11-10-2003 12:51:05

Cuando se agrupa, es para hallar totales, medias....

Por lo que veo y sino me equivoco lo que quieres es ordenarlo por 2 campos:

SELECT * FROM tabla ORDER BY Cod_2, cod_1

Un Saludo.

Jose Manuel 11-10-2003 14:53:37

Hola

En la consulta que quiero hacer, no solo se trata de ordenar los campos sino sumar los totales de un mismo campo.

Cod_1 cod_2 importe OTROS CAMPOS
..... ..... ....... ............
105 105.1 10 € ??????????
105 105.1 5 €
105 105.2 20 €


Pretendo obtener una consulta como sigue:

Cod_1 cod_2 importe OTROS CAMPOS
..... ..... ....... ............
105 105.1 15 € ??????????
105 105.2 20 € ??????????

Un saludo
Jose Manuel

Ruben_Cu 11-10-2003 16:01:02

Hola Jose Manuel, tienes razón en cuanto a lo que leistes, la clausula GROUP BY se usa para lo que quieres pero tienes que configurar bien la declaración tienes que utilizar la función SUM aplicada al campo importe, podrías hacer algo como:
Código:

SELECT cod_1, cod_2, ..,(otros campos que quieres que aparezcan en el resultado), SUM(importe) as totales FROM tabla
GROUP BY cod_2, cod_1, ...(otros campos que pusistes en el SELECT)
ORDER BY cod_1

Totales es un nuevo campo donde tendrás el resultado de la suma por cada cod_1 te recomiendo que pruebes primero sin agregar los otros campos para que veas el resultado solo con cod_1 y cod2.
Saludos


La franja horaria es GMT +2. Ahora son las 09:43:56.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi