Ich habe 3 Tabellen mit ähnlichen Datenzeilen. Ich brauche 100 Zeilen aus allen drei Tabellen mit den folgenden Bedingungen wählen:Wie kann ich insgesamt 100 Zeilen aus 3 verschiedenen Tabellen auswählen?
nicht mehr als 25 Zeilen aus Tabelle A ausgewählt werden können -> (nennen Sie es ZÄHLWERT)
nicht mehr als 40 Zeilen aus der Tabelle B ausgewählt werden -> (count_b)
beliebige Anzahl von Zeilen aus Tabelle C (count_c), aber die Nummer sollte count_c = 100 gewählt werden - (+ ZÄHLWERT count_b)
Hier ist, was ich versucht:
SELECT * FROM
(
SELECT * FROM TABLE_A WHERE ROWNUM <= 25
UNION ALL
SELECT * FROM TABLE_B WHERE ROWNUM <= 40
UNION ALL
SELECT * FROM TABLE_C
) WHERE ROWNUM <=100
Aber die Abfrage ist zu langsam und nicht immer geben Sie mir 100 Zeilen.
Ihre Abfrage sieht gut aus - in welchen Fällen gibt es nicht 100 Zeilen? –
Wie Sie Ihre Bedingungen angegeben haben, sind sie zufrieden, auch wenn Sie nur die 100 Zeilen aus der Tabelle C zurückgeben. Also hier gehen Sie: SELECT * FROM TABLE_C WHERE ROWNUM <= 100 –