![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
#1
|
|||
|
|||
![]() Hola, utilizo Firebird 2.1, yo creo que esto se debería hacer con un GROUP BY pero no puedo,
gracias de antemano Quiero saber en que últimos movimientos está involucrada la oficina 1 -- Agrego un par de valores para tener con que hacer la prueba /* CREO UNA TABLA */ CREATE TABLE MOVIMIENTOS ( MOV_ID INTEGER NOT NULL, -- id de esta tabla OFI_ID INTEGER NOT NULL, -- id de la tabla OFICINAS MOV_FECHA CHAR(8) NOT NULL, -- fecha del movimiento ENT_ID INTEGER NOT NULL -- id de la tabla ENTRADAS ); -- con 2 movimientos para cada entrada ENT_ID 40, 41 y 42 INSERT INTO movimientos (MOV_ID, OFI_ID, MOV_FECHA,ENT_ID) VALUES (1, 1, '20081101',40); INSERT INTO movimientos (MOV_ID, OFI_ID, MOV_FECHA,ENT_ID) VALUES (2, 2, '20081102',40); INSERT INTO movimientos (MOV_ID, OFI_ID, MOV_FECHA,ENT_ID) VALUES (3, 1, '20081103',41); INSERT INTO movimientos (MOV_ID, OFI_ID, MOV_FECHA,ENT_ID) VALUES (4, 2, '20081104',41); INSERT INTO movimientos (MOV_ID, OFI_ID, MOV_FECHA,ENT_ID) VALUES (5, 2, '20081105',42); INSERT INTO movimientos (MOV_ID, OFI_ID, MOV_FECHA,ENT_ID) VALUES (6, 1, '20081106',42); yo quiero saber en que últimos movimientos está involucrada la oficina 1 la salida debería ser ENT_ID-FECHA----OFI_ID MOV_ID 42------20081106--1-----6 y para la oficina 2 ENT_ID--FECHA---OFI_ID MOV_ID 40------20081102--2-----2 41------20081104--2-----4 ![]() SELECT M.ENT_ID, max(M.MOV_FECHA) FECHA FROM MOVIMIENTOS M GROUP BY m.ENT_ID; obtengo ENT_ID-----FECHA 40---------20081102 41---------20081104 42---------20081106 esto está correcto, pero necesito poder ver tambien la oficina y me dá error cuando le agrego el campo OFI_ID SELECT M.ENT_ID, max(M.MOV_FECHA) FECHA, M.OFI_ID FROM MOVIMIENTOS M GROUP BY m.ENT_ID; si agrego el campo tambien en el GROUP BY anda pero no es la consulta que yo quiero ya que me devuleve todo SELECT M.ENT_ID, max(M.MOV_FECHA) FECHA, M.OFI_ID FROM MOVIMIENTOS M GROUP BY m.ENT_ID, M.OFI_ID; gracias de antemano |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Group by en firebird | santiago14 | SQL | 7 | 05-09-2008 15:40:19 |
uso del Group By | esimon | SQL | 8 | 05-02-2008 18:14:10 |
Impresion de group header group footer | Manuel | Impresión | 3 | 11-11-2007 01:05:23 |
consultas anidadas: group by dentro otro group by | DobleSiete | SQL | 7 | 31-01-2005 14:59:31 |
Group Header, Detail y Footer Group en la misma pagina | MarcelRuz | Impresión | 0 | 20-04-2004 23:27:14 |
![]() |
|