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

Consulta con Group By

Estas en el tema de Consulta con Group By en el foro de Oracle en Foros del Web. Muy buena tarde a todos. Tengo una consulta sencilla que me está tomando tiempo resolver: Si agrupo solo por id_actoperrad tengo que poner Min o ...
  #1 (permalink)  
Antiguo 21/05/2020, 15:49
Avatar de laureano59  
Fecha de Ingreso: febrero-2005
Mensajes: 386
Antigüedad: 16 años, 2 meses
Puntos: 0
Consulta con Group By

Muy buena tarde a todos.

Tengo una consulta sencilla que me está tomando tiempo resolver:
Si agrupo solo por id_actoperrad tengo que poner Min o Max en numfact pero no me sirve porque son varias facturas con numfat diferentes y me arrojaría la mayor o la menor y necesito ambas, por otro lado si agrupo por id_actoperrad y por numfact me duplica todo.
Aclaro que el id_actoperrad es unico y el numfact también, pero si agrupo solo por numfact me dejaría por fuera algunos id_actoperrad, entonces lo que hago es agrupar por id_actoperrad pero me pasa lo que puse al comienzo de este texto.

Digamos que tengo esta tabla sin agrupar nada:

numfact----------- id_actoperrad
55------------------------369
54------------------------367
54------------------------370
55------------------------371
54------------------------369
54------------------------371
55------------------------368
55------------------------367
54------------------------368
55------------------------370

y la necesito Así:

numfact--------------id_actoperrad
55--------------------------369
54--------------------------367
54-------------------------- 370
55-------------------------- 371
55-------------------------- 368

Lo que tengo actualmente agrupando por id_actoperrad es: Pero Necesito que me salgan las dos facturas como la tabla anterior

numfact--------------id_actoperrad
55--------------------------369
55--------------------------367
55-------------------------- 370
55-------------------------- 371
55-------------------------- 368






Alguna Sugerencia que no tenga que resolver por código sino solo con SQL?

Gracias por sus valiosas respuestas.


Código SQL:
Código SQL:
Ver original
  1. SELECT MAX(numfact) AS numfact, MIN(fecha) AS fecha, MIN(id_radica) AS id_radica,
  2. MIN(num_esc) AS num_esc , MIN(nombre_acto) AS nombre_acto,
  3. MIN(abreviacion_acto) AS abreviacion_acto,
  4. MIN(id_actoperrad) AS id_actoperrad, MIN(derechos) AS derechos,
  5. MIN(estado) AS estado, MIN(id_ncf) AS id_ncf
  6. FROM public.caja_auxiliar_sin_agrupar_view
  7. WHERE fecha BETWEEN '2020-03-11' AND '2020-03-11'
  8. GROUP BY id_actoperrad
  9. ORDER BY num_esc
__________________
http://www.weblaum.com
Laureano Melo Medina
:arriba:
  #2 (permalink)  
Antiguo 21/08/2020, 14:38
Avatar de vicram10  
Fecha de Ingreso: enero-2009
Ubicación: Asuncion
Mensajes: 323
Antigüedad: 12 años, 2 meses
Puntos: 27
Respuesta: Consulta con Group By

usa "distinct" en tu select exponiendo solo los campos que necesitas y si es repetido lo deja en 1 sola linea segun como entiendo si tienes 2 de 55 con factura 370 y 370, deberia de aparecer solo 1 linea de 55 y 370.

Eso lo hace el distinct y tambien lo hace el group by por las 2 columnas.
__________________
Asunción Paraguay
Licenciado - Desarrollador Web - Lider de Proyecto/Desarrollador Banco Local
Espacio Geek - Comunidad Tecnologica

Etiquetas: group
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 19:08.