Ich möchte einen Wert aus einer Tabelle in zwei verschiedene Spalten für verschiedene Werte aus derselben Tabelle abrufen. Verwenden Sie diese Abfrage als Beispiel (beachten Sie, dass sich die Auswahl in derselben Tabelle befindet, die als 2 verschiedene Tabellen aliasiert ist):
SELECT a.myVal, b.myVal
FROM MyTable a, MyTable b
WHERE
a.otherVal = 100 AND
b.otherVal = 200 AND
a.id = b.id
Wenn ich eine relativ einfache Abfrage wie diese für mein Dataset ausführe, funktioniert dies - es dauert nur lange. Gibt es eine bessere / intelligentere Möglichkeit, diese Abfrage zu schreiben?
SELECT a.column, b.column FROM table AS a, table AS b WHERE a.column=x AND b.column=y
könnte eine andere Möglichkeit sein, die Verwendung zu vermeidenJOIN
(wenn dies nicht erforderlich ist).Sie können Gruppierung und bedingte Aggregation wie folgt verwenden:
quelle