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
|