Ver Mensaje Individual
  #1  
Antiguo 12-07-2012
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Reputación: 17
jafera Va por buen camino
Agrupar datos de una tabla

Hola a todos.

Tengo la siguiente estructura de datos de una tabla Firebird 1.5, en la que tengo un ID del recibo y los detalles de los mismos.

CREATE TABLE "RE0010DG"
(
"ID_REBUT" INTEGER NOT NULL,
"ID_ARBIT1" INTEGER,
"ID_ARBIT2" INTEGER,
"ID_ARBIT3" INTEGER,
"ID_ARBIT4" INTEGER,
"ID_ARBIT5" INTEGER,
"ID_ARBIT6" INTEGER,
"ID_ARBIT7" INTEGER,
"ID_ARBIT8" INTEGER,
"KM1" INTEGER,
"KM2" INTEGER,
"KM3" INTEGER,
"KM4" INTEGER,
"KM5" INTEGER,
"KM6" INTEGER,
"KM7" INTEGER,
"KM8" INTEGER,
"SOBRES_1" NUMERIC(9, 2),
"SOBRES_2" NUMERIC(9, 2),
"SOBRES_3" NUMERIC(9, 2),
"SOBRES_4" NUMERIC(9, 2),
"SOBRES_5" NUMERIC(9, 2),
"SOBRES_6" NUMERIC(9, 2),
"SOBRES_7" NUMERIC(9, 2),
"SOBRES_8" NUMERIC(9, 2),
"IMPORT_1" NUMERIC(9, 2),
"IMPORT_2" NUMERIC(9, 2),
"IMPORT_3" NUMERIC(9, 2),
"IMPORT_4" NUMERIC(9, 2),
"IMPORT_5" NUMERIC(9, 2),
"IMPORT_6" NUMERIC(9, 2),
"IMPORT_7" NUMERIC(9, 2),
"IMPORT_8" NUMERIC(9, 2),
"IMPORT_KM_1" NUMERIC(9, 2),
"IMPORT_KM_2" NUMERIC(9, 2),
"IMPORT_KM_3" NUMERIC(9, 2),
"IMPORT_KM_4" NUMERIC(9, 2),
"IMPORT_KM_5" NUMERIC(9, 2),
"IMPORT_KM_6" NUMERIC(9, 2),
"IMPORT_KM_7" NUMERIC(9, 2),
"IMPORT_KM_8" NUMERIC(9, 2),
"CAMPIONAT1" NUMERIC(9, 2),
"CAMPIONAT2" NUMERIC(9, 2),
"CAMPIONAT3" NUMERIC(9, 2),
"CAMPIONAT4" NUMERIC(9, 2),
"CAMPIONAT5" NUMERIC(9, 2),
"CAMPIONAT6" NUMERIC(9, 2),
"CAMPIONAT7" NUMERIC(9, 2),
"CAMPIONAT8" NUMERIC(9, 2),
"FEINER1" NUMERIC(9, 2),
"FEINER2" NUMERIC(9, 2),
"FEINER3" NUMERIC(9, 2),
"FEINER4" NUMERIC(9, 2),
"FEINER5" NUMERIC(9, 2),
"FEINER6" NUMERIC(9, 2),
"FEINER7" NUMERIC(9, 2),
"FEINER8" NUMERIC(9, 2),
"DOS_SECTORS1" NUMERIC(9, 2),
"DOS_SECTORS2" NUMERIC(9, 2),
"DOS_SECTORS3" NUMERIC(9, 2),
"DOS_SECTORS4" NUMERIC(9, 2),
"DOS_SECTORS5" NUMERIC(9, 2),
"DOS_SECTORS6" NUMERIC(9, 2),
"DOS_SECTORS7" NUMERIC(9, 2),
"DOS_SECTORS8" NUMERIC(9, 2),
"TOTAL_A1" NUMERIC(9, 2),
"TOTAL_A2" NUMERIC(9, 2),
"TOTAL_A3" NUMERIC(9, 2),
"TOTAL_A4" NUMERIC(9, 2),
"TOTAL_A5" NUMERIC(9, 2),
"TOTAL_A6" NUMERIC(9, 2),
"TOTAL_A7" NUMERIC(9, 2),
"TOTAL_A8" NUMERIC(9, 2),
"A1" VARCHAR(1) CHARACTER SET ISO8859_1 COLLATE ES_ES,
"A2" VARCHAR(1) CHARACTER SET ISO8859_1 COLLATE ES_ES,
"A3" VARCHAR(1) CHARACTER SET ISO8859_1 COLLATE ES_ES,
"A4" VARCHAR(1) CHARACTER SET ISO8859_1 COLLATE ES_ES,
"A5" VARCHAR(1) CHARACTER SET ISO8859_1 COLLATE ES_ES,
"A6" VARCHAR(1) CHARACTER SET ISO8859_1 COLLATE ES_ES,
"A7" VARCHAR(1) CHARACTER SET ISO8859_1 COLLATE ES_ES,
"A8" VARCHAR(1) CHARACTER SET ISO8859_1 COLLATE ES_ES,
"F1" VARCHAR(1) CHARACTER SET ISO8859_1 COLLATE ES_ES,
"F2" VARCHAR(1) CHARACTER SET ISO8859_1 COLLATE ES_ES,
"F3" VARCHAR(1) CHARACTER SET ISO8859_1 COLLATE ES_ES,
"F4" VARCHAR(1) CHARACTER SET ISO8859_1 COLLATE ES_ES,
"F5" VARCHAR(1) CHARACTER SET ISO8859_1 COLLATE ES_ES,
"F6" VARCHAR(1) CHARACTER SET ISO8859_1 COLLATE ES_ES,
"F7" VARCHAR(1) CHARACTER SET ISO8859_1 COLLATE ES_ES,
"F8" VARCHAR(1) CHARACTER SET ISO8859_1 COLLATE ES_ES
);

Necesitaria poder sacar los datos agrupados por ID_ARBITRE pero el problema es que el valor de este ID, puede estar en cualquiera de las ocho columnas posibles.

Vamos que lo que necesitaria es poder sacar todos los registros donde aparezca por ejemplo el valor del arbitro 1, algo así:

Arbitro 1

Recibo 1
Recibo 3
Recibo 5

Arbitro 2

Recibo 1
Recibo 2
Recibo 3

y sucesivamente, para sacar una hoja por cada arbitro.

El problema que tengo y que no se como solventar es que el valor del ID_ARBITRE = 1 puede estar tanto en ID_ARBITRE_1, ID_ARBITRE_2,ID_ARBITRE_3, ID_ARBITRE_4,ID_ARBITRE_5, ID_ARBITRE_6,ID_ARBITRE_7, ID_ARBITRE_8, pero solo una vez en cada recibo.

Luego todos los campos adicionales son los que tienen el mismo numero ID_ARBITRE_1 -> KM_1 -> TOTAL_1, etc.

No se si se debe usar algo de inner join o así.

Gracias por adelantado.

Josep
Responder Con Cita