Ich versuche eine Abfrage auszuführen, die zwei gleiche Spalten mit unterschiedlichen Bedingungen/Kriterien auswählt. Ich bin in der Lage, diese Abfrage unabhängig auszuführen und ein Ergebnis zu erhalten, aber wenn ich versuche, sie zusammen auszuführen (wie im zweiten Teil gezeigt), erhalte ich einen Fehler. Die erwartete Tabelle wird unten als save_line1, save_line2 angezeigt. Aber die Ausgabe, die ich bekomme, ist die erste Zeile - für alle Zeilen.Mehrere Spalten für verschiedene Kriterien auswählen - SQL
Ich möchte wissen, welche Änderungen an meiner zweiten Abfrage vorgenommen werden müssen, damit es funktioniert. Vielen Dank.
select save_line from save_output_table
where execution_id in ('292')
and seq_id = '0'
and save_type='R'
order by line_id ASC
+------------+
| Save_line |
+------------+
| 17 |
| 22 |
| 23 |
+------------+
SELECT
(select save_line
from save_output_table
where execution_id in ('292')
and seq_id = '0'
and save_type='R'
order by line_id ASC
) as save_line1,
(select save_line
from save_output_table
where execution_id in ('286')
and seq_id = '0'
and save_type='R'
order by line_id ASC
) as save_line2
from save_output_table
+-------------+------------+
| Save_line 1 | Save_line2 |
+-------------+------------+
| 17 | 9 |
| 22 | 5 |
| 23 | 3 |
+-------------+------------+
Subqueries in der äußeren SELECTs Spaltenliste sollte 0 oder 1 Zeilen zurückgeben, sonst wird ein Fehler auftreten könnte. Sind Sie sicher, dass Sie in Ihren beiden Unterselektionen kein "AND saveline = s.saveline" verpassen? Damit dies funktioniert, benötigen Sie auch ein "s" am Ende Ihrer Anfrage. Und warum die Bestellung von? –