Reporte usando GoupBy

Jean2510 Seguir

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
30 Ene 2012
Mensajes
3
Buenas con todos, tenga un problema al hacer un reporte, me explico:

Tengo una tabla llamada Curricular, la cual tiene códigos de otras 4 tablas; les dejo el diagrama :

3.jpg



La cuestión es que al hacer la siguiente consulta T-SQL

Insertar CODE, HTML o PHP:
	SELECT  Codigo_Curricula,Codigo_Idioma, Codigo_Modalidad, Codigo_Nivel
	FROM Curricula
	group by  Codigo_Curricula, Codigo_Idioma, Codigo_Modalidad, Codigo_Nivel
	ORDER BY Codigo_Curricula

me muestra esto:

1.jpg


y lo que necesito me muestre es algo como esto:

2.jpg



Una forma seria quitan el "Codigo_Curricula" del group by pero me da error :

Mens. 8120, Nivel 16, Estado 1, Línea 1
La columna 'Curricula.Codigo_Curricula' de la lista de selección no es válida, porque no está contenida en una función de agregado ni en la cláusula GROUP BY.

y ese código necesito este siempre, dado que con el consulto todos los ciclos asociados a esa curricula en el evento click en la aplicación.

Gracias por la ayuda.
 

Jean2510

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
30 Ene 2012
Mensajes
3
[MENTION=20533]Jean2510[/MENTION] no se ven las img...
subilas a: Xooimage - Hébergement gratuit d'images

Buenas con todos, tenga un problema al hacer un reporte, me explico:

Tengo una tabla llamada Curricular, la cual tiene códigos de otras 4 tablas; les dejo el diagrama :

3-3fc425e.jpg



La cuestión es que al hacer la siguiente consulta T-SQL

Insertar CODE, HTML o PHP:
	SELECT  Codigo_Curricula,Codigo_Idioma, Codigo_Modalidad, Codigo_Nivel
	FROM Curricula
	group by  Codigo_Curricula, Codigo_Idioma, Codigo_Modalidad, Codigo_Nivel
	ORDER BY Codigo_Curricula

me muestra esto:

1-3fc424a.jpg


y lo que necesito me muestre es algo como esto:

2-3fc425a.jpg



Una forma seria quitan el "Codigo_Curricula" del group by pero me da error :

Mens. 8120, Nivel 16, Estado 1, Línea 1
La columna 'Curricula.Codigo_Curricula' de la lista de selección no es válida, porque no está contenida en una función de agregado ni en la cláusula GROUP BY.

y ese código necesito este siempre, dado que con el consulto todos los ciclos asociados a esa curricula en el evento click en la aplicación.

Gracias por la ayuda.
 

Cicklow

Admin
Dseda
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Suscripción a IA
Desde
30 May 2011
Mensajes
1.102
solo tenias que editar el 1 post...

Insertar CODE, HTML o PHP:
	SELECT  Codigo_Curricula,Codigo_Idioma, Codigo_Modalidad, Codigo_Nivel
	FROM Curricula
	group by  Codigo_Curricula
	ORDER BY Codigo_Curricula
 

Jean2510

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
30 Ene 2012
Mensajes
3
Da el mismo error :

Mens. 8120, Nivel 16, Estado 1, Línea 1
La columna 'Curricula.Codigo_Idioma' de la lista de selección no es válida, porque no está contenida en una función de agregado ni en la cláusula GROUP BY.

Fíjate que los códigos de curricula son auto incrementables, la clausula GoupBy, agrupa siempre y cuando sean igual lo cual no pasa. En cambia en los otros campos si son iguales por lo que si agruparía.

PD: Creo el foro esta fallando no me quejaba editar, sorry
 

Cicklow

Admin
Dseda
Verificado
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Suscripción a IA
Desde
30 May 2011
Mensajes
1.102
Da el mismo error :

Mens. 8120, Nivel 16, Estado 1, Línea 1
La columna 'Curricula.Codigo_Idioma' de la lista de selección no es válida, porque no está contenida en una función de agregado ni en la cláusula GROUP BY.

Fíjate que los códigos de curricula son auto incrementables, la clausula GoupBy, agrupa siempre y cuando sean igual lo cual no pasa. En cambia en los otros campos si son iguales por lo que si agruparía.

PD: Creo el foro esta fallando no me quejaba editar, sorry

pues a mi me funciona ese codigo... (ejemplo)
Insertar CODE, HTML o PHP:
SELECT id,id_user,numero,pais FROM `ionumeros` GROUP BY id_user ORDER BY id_user
id es auto incrementado
id_user es un id de usuario que se repite varias veces
numero no se repite
pais se repite
 

chicho

Gamma
Programador
Verificado por Whatsapp
Desde
20 Jul 2010
Mensajes
275
A ver, no tiene mucho sentido agrupar por el auto incremental ya que no se repetirá :)

Y si agrupas por los otros campos piensa que tendrás N ids en el select y de ahí el error.
 

proxfnx

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
2 Ene 2013
Mensajes
69
Tu pregunta es confusa, que es lo que quieres obtener de las tablas.

Insertar CODE, HTML o PHP:
SELECT  Codigo_Curricula,Codigo_Idioma, Codigo_Modalidad, Codigo_Nivel
	FROM Curricula
	group by  Codigo_Nivel
Prueba asi y aclara que es lo que quieres obtener.
 

yanina.perez

Gamma
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
10 Ago 2009
Mensajes
195
Hablando de TSQL (SQL SERVER)
Cualquier campo que pongas en el SELECT, si no se encuentra en el GROUP BY lo debes mostrar con una función de agregación.
En tu caso podes usar lo siguiente:
Insertar CODE, HTML o PHP:
SELECT 
    MAX(Codigo_Curricula),
    MAX(Codigo_Idioma), 
    MAX(Codigo_Modalidad), 
    Codigo_Nivel
FROM 
    Curricula
GROUP BY  
    Codigo_Nivel

Saludos
 

Jean2510

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
30 Ene 2012
Mensajes
3
Gracias ya logre la consulta, quedo asi :

Insertar CODE, HTML o PHP:
SELECT  MIN(Codigo_Curricula) AS Curricula,Codigo_Idioma, Codigo_Modalidad, Codigo_Nivel 
FROM Curricula 
GROUP BY  Codigo_Idioma, Codigo_Modalidad, Codigo_Nivel 
ORDER BY Curricula

y muestra lo que quería :laugh:

5-3fc8cda.jpg


Gracias! :pcguru:
 
Arriba