Saludos a todos,
Quiesiera saber si en oracle se puede hacer un agrupamiento de un campo de una lista sin tener que agregar la lista completa, por ejemplo:
select nombre, direccion, depatamento, salario from empleados
- Versión para impresión
- Inicie sesión para enviar comentarios
Quieres decir hacer algo como
Subido por Carlos el 21 May, 2010 - 11:21
Quieres decir hacer algo como esto?
No se puede porque el group by te hace una agrupación por los campos que le indicas, y el resultado es de un sólo registro por agrupación. Si tu agrupas por nombre, y un mismo nombre tiene más de una dirección no puedes mostrarlo todo en el mismo registro. Todo lo que puedes mostrar han de ser datos agregados de los registros que componen la agrupación.
Saludos Carlos, A lo que me
Subido por Yamil el 21 May, 2010 - 15:26
En respuesta a Quieres decir hacer algo como por Carlos
Saludos Carlos,
A lo que me refiero es a la posibilidad de hacer un group by solo por uno de los campos contenidos en la sentencia select, en el caso de sql/server sise puede hacer, por ejemplo la sentencia siguiente en oracle:
select id_persona, identificacion,nombre_completo,tipo_persona
from cl_personas
group
by tipo_persona
esta sentencia me presenta el siguiente error en oracle : ORA- 00979: Not a group by expression. Pero en SQL/Server si se puede hacer. Hay alguna forma de hacerlo en Oracle..?
Entonces he entendido bien lo
Subido por Carlos el 26 May, 2010 - 16:42
En respuesta a Saludos Carlos, A lo que me por Yamil
Entonces he entendido bien lo que preguntabas, y mi respuesta anterior es válida.
Lo que no me cuadra es que me digas que en SQL Server esta sentencia te funciona, ya que debería darte un error parecido porque estás agrupando registros a un nivel (tipo_persona) e intentas sacar datos de un nivel más detallado (al pedir identificacion y nombre_completo), cuando de estos niveles sólo puedes obtener datos a nivel agregado con operaciones como COUNT, MIN, MAX, SUM, etc.
El funcionamiento general de las agrupaciones con GROUP BY es muy similar en casi todos los motores de bases de datos relacionales, ya que viene marcado por el estandar SQL. Tiene que haber alguna diferencia con la sentencia que has ejecutado en SQL Server para que en una BD te falle y en la otra no.
en oracle no se puede hacer
Subido por mao (no verificado) el 2 Diciembre, 2014 - 21:20
En respuesta a Entonces he entendido bien lo por Carlos
en oracle no se puede hacer eso en los otros motores si se puede para agrupar en oracle con un solo dato no se puede nose por que oracle no lo permite si encuentras la solucion me comentas porfa. gracias.