Wählen Sie dieselbe Spalte mit unterschiedlichen Bedingungen aus, um Spalten zu trennen

Ich muss eine bestimmte Spalte mit unterschiedlichen Bedingungen auswählen und das Ergebnis in verschiedenen Spalten und einem Ergebnis kombinieren.

Ich habe so etwas versucht, es ist falsch, die Idee zu klären

Select [ObjectiveKey] as column_1 from [Objectives] where [ID] = 9 union Select [ObjectiveKey] as column_2 from [Objectives] where [ID] = 12 union Select [ObjectiveKey] as column_3 from [Objectives] where [ID] = 11 union Select [ObjectiveKey] as column_4 from [Objectives] where [ID] = 10 union Select [ObjectiveKey] as column_5 from [Objectives] where [ID] = 32 

Und das Ergebnis sollte so aussehen

Bildbeschreibung hier eingeben

Sie können es mit bedingter Aggregation tun:

 SELECT column_1 = MAX(CASE WHEN ID = 9 THEN ObjectiveKey END), column_2 = MAX(CASE WHEN ID = 12 THEN ObjectiveKey END), column_3 = MAX(CASE WHEN ID = 11 THEN ObjectiveKey END), column_4 = MAX(CASE WHEN ID = 10 THEN ObjectiveKey END), column_5 = MAX(CASE WHEN ID = 32 THEN ObjectiveKey END) FROM Objectives WHERE ID IN(9, 12, 11, 10, 32) 

Wie im Kommentar vorgeschlagen, können Sie einen Filter für ID hinzufügen.

Ich kann dein erworbenes Ergebnis nicht sehen, weil es eine Grafik ist, aber ich denke, was du brauchst, ist:

 Select [ObjectiveKey] as column_1 from [Objectives] where [ID] IN (9,10,11,12,32)