Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Consulta SQL - GROUP BY e INNER JOIN

Estas en el tema de Consulta SQL - GROUP BY e INNER JOIN en el foro de SQL Server en Foros del Web. Intento contar los registros de una tabla y me tira el siguiente error @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original SELECT COUNT ( * ) AS ...
  #1 (permalink)  
Antiguo 06/11/2014, 07:35
 
Fecha de Ingreso: agosto-2009
Mensajes: 13
Antigüedad: 14 años, 8 meses
Puntos: 0
Consulta SQL - GROUP BY e INNER JOIN

Intento contar los registros de una tabla y me tira el siguiente error
Código SQL:
Ver original
  1. SELECT COUNT(*) AS 'CantAlqu', Alq.IDpelicula, Pel.Titulo
  2. FROM (dvdClub.Alquileres Alq INNER JOIN dvdClub.Peliculas Pel ON (Alq.IDpelicula = Pel.IDpelicula) )
  3. GROUP BY Alq.IDpelicula
  4. ORDER BY CantAlqu DESC


Mens. 8120, Nivel 16, Estado 1, Línea 1
La columna 'dvdClub.Peliculas.Titulo' 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.




Alguien me podria ayudar
  #2 (permalink)  
Antiguo 06/11/2014, 07:39
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Consulta SQL - GROUP BY e INNER JOIN

En SQL Server, Oracle, PostgreSQL, se deben poner en el GROUP BY todas las columnas listadas en el SELECT que no estén afectadas por una función de agregado.

La sintaxis correcta sería:
Código SQL:
Ver original
  1. SELECT COUNT(*) AS 'CantAlqu', Alq.IDpelicula, Pel.Titulo
  2. FROM (dvdClub.Alquileres Alq INNER JOIN dvdClub.Peliculas Pel ON (Alq.IDpelicula = Pel.IDpelicula) )
  3. GROUP BY Alq.IDpelicula, Pel.Titulo
  4. ORDER BY CantAlqu DESC
El único DBMS que permite hacerlo de la forma que escribiste es MySQL, donde incluso se puede agrupar por columnas que NO estén en el SELECT. Pero es el único que lo admite.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 06/11/2014, 08:32
 
Fecha de Ingreso: agosto-2009
Mensajes: 13
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Consulta SQL - GROUP BY e INNER JOIN

Mil gracias, ahora estoy trabajando con SQL server, y estaba acostumbrado a manejar MYSQL y no entendia cual era el problema, muchas gracias.

Etiquetas: group, join, registros, select, siguiente, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:31.