Ich versuche, eine Abfrage zu erstellen, die eine Kreuztabelle mit etwa 40 benutzerdefinierten Spalten erzeugt, die J oder N anzeigen.
SELECT DISTINCT [Company],
[Option1],
[Option2],
[Option3],
CASE
WHEN [Table1].[ID1] IN (SELECT ID2 FROM Table2 WHERE Variable = 1 AND Bit = 1) THEN
'Y'
ELSE 'N'
END AS 'CustomColumn1:',
CASE
WHEN [Table1].[ID1] IN (SELECT ID2 FROM Table2 WHERE Variable = 2 AND Bit = 1) THEN
'Y'
ELSE 'N'
END AS 'CustomColumn1:',
CASE
WHEN [Table1].[ID1] IN (SELECT ID2 FROM Table2 WHERE Variable = 3 AND Bit = 1) THEN
'Y'
ELSE 'N'
END AS 'CustomColumn1:',
.............
-- REPEAT ANOTHER 40 times
FROM [Table1]
WHERE [Table1].[OtherCondition] = 'True'
ORDER BY [Company]
Also meine Frage ist, wie ich eine Schleife (while? for?) erstellen, die Schleife auf Variable und Y oder N der Zeile auf der Grundlage der Bedingung zuweisen wird, anstatt 40+ Case-Anweisungen zu erstellen?