Files
Checkin-Tool/pages/Page1/queries/qryHaeuser/qryHaeuser.txt
T
2026-07-31 10:42:00 +00:00

102 lines
1.7 KiB
Plaintext

WITH ProdukteMitTrennern AS
(
SELECT
P.Bezeichnung,
T1.Position1,
T2.Position2
FROM dbo.Produkt P
CROSS APPLY
(
SELECT
CHARINDEX(
N' - ',
P.Bezeichnung
) AS Position1
) T1
CROSS APPLY
(
SELECT
CHARINDEX(
N' - ',
P.Bezeichnung,
T1.Position1 + 3
) AS Position2
) T2
WHERE
COALESCE(P.Status, N'') <> N'L'
AND P.Bezeichnung LIKE N'%Sportclub%'
),
RoheHaeuser AS
(
SELECT
LTRIM(RTRIM(
SUBSTRING(
Bezeichnung,
Position1 + 3,
Position2 - Position1 - 3
)
)) AS Haus
FROM ProdukteMitTrennern
WHERE
Position1 > 0
AND Position2 > Position1
),
BereinigteHaeuser AS
(
SELECT
REPLACE(
REPLACE(
REPLACE(
REPLACE(
Haus,
NCHAR(160),
N' '
),
NCHAR(8203),
N''
),
CHAR(13),
N''
),
CHAR(10),
N''
) AS Haus
FROM RoheHaeuser
),
KanonischeHaeuser AS
(
SELECT
CASE
WHEN Haus LIKE N'Sportclub Steinach%'
THEN N'Sportclub Steinachhof'
WHEN Haus LIKE N'Sportclub Wal%schlössli'
THEN N'Sportclub Waldschlössli'
ELSE Haus
END AS Haus
FROM BereinigteHaeuser
)
SELECT DISTINCT
Haus AS label,
Haus AS value
FROM KanonischeHaeuser
WHERE
NULLIF(Haus, N'') IS NOT NULL
ORDER BY
label;