102 lines
1.7 KiB
Plaintext
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; |