Hallo,
ich soll eine SQL überarbeiten und bin dabei über folgende Passage gestolpert:
Nun wollte ich es in folgende Form umbauen:
Das neue SQL führt dazu, dass ich beim Ergebnis 3000 Zeilen mehr bekomme. Habt ihr eine Idee, wie das sein kann?
Danke und Gruß Patrick
ich soll eine SQL überarbeiten und bin dabei über folgende Passage gestolpert:
SQL:
SELECT
-- Weitere Felder
CASE
WHEN KHMA.LMKGZG_LMKG_ID IS NULL
THEN 'N'
ELSE 'J'
END AS KH_BEHANDLUNG,
CASE
WHEN REHA.LMKGZG_LMKG_ID IS NULL
THEN 'N'
ELSE 'J'
END AS REHA_BEHANDLUNG,
-- Weitere Felder
FROM
LE_AUDATEN AUD
LEFT JOIN
(
SELECT DISTINCT
LMKGZG_LMKG_ID
FROM
LE_LMKG_ZUGEOMASSN_LMKVSTELLV,
LE_LMKVSTELLV
WHERE
ZUGEOMASSN_LMKVSTELLV_ID = OID
AND LEISTUNGMASSNAHMEART = 18 ) KHMA
ON
(
LMK.OID = KHMA.LMKGZG_LMKG_ID)
LEFT JOIN
(
SELECT DISTINCT
LMKGZG_LMKG_ID
FROM
LE_LMKG_ZUGEOMASSN_LMKVSTELLV,
LE_LMKVSTELLV
WHERE
ZUGEOMASSN_LMKVSTELLV_ID = OID
AND LEISTUNGMASSNAHMEART = 32 ) REHA
ON
(
LMK.OID = REHA.LMKGZG_LMKG_ID)
-- Weitere JOINS
Nun wollte ich es in folgende Form umbauen:
SQL:
SELECT
-- Weitere Felder
CASE
WHEN KR.LEISTUNGMASSNAHMEART = 18
THEN 'J'
ELSE 'N'
END AS KH_BEHANDLUNG,
CASE
WHEN KR.LEISTUNGMASSNAHMEART = 32
THEN 'J'
ELSE 'N'
END AS REHA_BEHANDLUNG,
-- Weitere Felder
FROM
LE_AUDATEN AUD
LEFT JOIN
(
SELECT DISTINCT
LMKGZG_LMKG_ID,
LEISTUNGMASSNAHMEART
FROM
LE_LMKG_ZUGEOMASSN_LMKVSTELLV,
LE_LMKVSTELLV
WHERE
ZUGEOMASSN_LMKVSTELLV_ID = OID
AND LEISTUNGMASSNAHMEART IN (18,32) ) KR
ON
(
LMK.OID = KR.LMKGZG_LMKG_ID)
-- Weitere JOINS
Das neue SQL führt dazu, dass ich beim Ergebnis 3000 Zeilen mehr bekomme. Habt ihr eine Idee, wie das sein kann?
Danke und Gruß Patrick