Ich habe eine Abfrage, die ein Ergebnis mit zwei Spalten von Ints erstellt.Verwenden des Ergebnisses einer Abfrage in einer anderen Abfrage ohne Unterabfrage
from_id | to_id
---------------
51 | 100
3 | 21
... | ...
Lassen Sie uns dieses Ergebnis nennen map_ids
Dann kann ich etwas tun, wie
SELECT * FROM some_table st WHERE st.id IN map_ids.to_id
nur ausgewählte Material aus some_table
, die eine ID hat, die das Ergebnis der to_id
in der ersten Spiele Abfrage?
Ich möchte vermeiden, eine Unterabfrage zu verwenden, weil die Abfrage, die map_ids
generiert, ist ziemlich lang und wird tatsächlich zweimal in der realen Auswahl aus some_table
verwendet.
Suchen Sie nach [Unterabfrage-Factoring] (https://docs.oracle.com/cloud/latest/db112/SQLRF/statements_10002.htm#i2077142)? –