Witam, pomoże ktoś połączyć trzy poniższe zapytania ? Mają wspólne dane w kolumnach LOGIN, NAZWISKO, RODZAJ. Chodzi o połączenie ich w taki sposób, aby po LOGIN, NAZWISKO, RODZAJ jako kolejne kolumny dodać IL_1, IL_2, IL_3 i IL_4
SELECT
SUPDN.CODPRP AS LOGIN,
UTI.NOMPRP AS NAZWISKO,
VTLP.CIRPIC AS RODZAJ,
SUM(CASE WHEN VTLE.TYPVTL = 3 THEN 1
ELSE NULL
END) AS IL_1,
SUM(CASE WHEN VTLE.TYPVTL = 2 THEN SUPDN.UVCLIV / SUPDN.PCBPRO
ELSE NULL
END) AS IL_2
FROM BIBLIOTEKA.GEVTLP AS VTLP LEFT JOIN BIBLIOTEKA.GEVTLE AS VTLE ON VTLP.NUMVTL = VTLE.NUMVTL,
BIBLIOTEKA.GESUPDN AS SUPDN LEFT JOIN BIBLIOTEKA.GEZPRP AS UTI ON SUPDN.CODPRP = UTI.CODPRP
WHERE SUPDN.DATPRB2 BETWEEN ? AND ?
GROUP BY SUPDN.CODPRP, UTI.NOMPRP, VTLP.CIRPIC, VTLE.TYPVTL
SELECT
DBSE.MAJUTI AS LOGIN,
UTI.NOMPRP AS NAZWISKO,
DBSE.CIRPIC AS RODZAJ,
SUM(DBSE.CUMUOT1) AS IL_3
FROM BIBLIOTEKA.GEDBSE AS DBSE LEFT JOIN BIBLIOTEKA.GEZPRP AS UTI ON DBSE.MAJUTI = UTI.CODPRP
WHERE DBSE.MAJDAT BETWEEN ? AND ?
GROUP BY DBSE.MAJUTI, UTI.NOMPRP, DBSE.CIRPIC[
SELECT
JNL.CODUTI AS LOGIN,
UTI.NOMPRP AS NAZWISKO,
case
when JNL.CODACT = '850' then '720'
when JNL.CODACT = '860' then '710'
when JNL.CODACT = '870' then '810'
else ' ' end AS RODZAJ,
SUM(JNL.SNUPAL) AS IL_4
FROM BIBLIOTEKA.GEJNL AS JNL LEFT JOIN BIBLIOTEKA.GEZPRP AS UTI ON JNL.CODUTI = UTI.CODPRP
WHERE JNL.DATMVT BETWEEN ? AND ?
GROUP BY JNL.CODUTI, UTI.NOMPRP, JNL.CODACT
Tabele zawierają takie dane:
LOGIN NAZWISKO RODZAJ IL_1 IL_2
LOGDKOV KOWALSKI1 720 0 491
LOGSPRO KOWALSKI2 720 0 507
LOGMSA2 KOWALSKI3 720 0 581
LOGSKU2 KOWALSKI4 720 0 446
LOGMKIN KOWALSKI5 720 0 536
LOGIN NAZWISKO RODZAJ IL_3
LOGMSA2 KOWALSKI3 720 5
LOGSKU2 KOWALSKI4 720 14
LOGIKU2 IKSINSKI3 720 23
LOGJBER IKSINSKI4 720 2
LOGDKOV KOWALSKI1 720 5
LOGIN NAZWISKO RODZAJ IL_3
LOGMSA2 KOWALSKI3 720 5
LOGSKU2 KOWALSKI4 720 14
LOGIKU2 IKSINSKI3 720 23
LOGJBER IKSINSKI4 720 2
LOGDKOV KOWALSKI1 720 5
LOGIN NAZWISKO RODZAJ IL_4
LOGDMIS KOWAL1 720 9
LOGMDUD KOWAL2 720 10
LOGMSZP KOWAL3 720 10
LOGIKU2 IKSINSKI3 810 7
LOGIKU2 IKSINSKI3 720 84