Ho 3 tabelle contenenti righe di dati simili. Ho bisogno di selezionare 100 righe da tutte e tre le tabelle con le seguenti condizioni:Come posso selezionare collettivamente 100 righe da 3 tabelle diverse?
non più di 25 righe possono essere selezionati dalla Tabella A -> (chiamarlo count_a)
non più di 40 righe può essere selezionato dalla Tabella B -> (count_b)
Qualsiasi numero di righe può essere selezionato dalla Tabella C (count_c), ma il numero dovrebbe essere count_c = 100 - (+ count_a count_b)
Ecco cosa ho provato:
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
Ma la query è troppo lento e non sempre mi danno 100 righe.
La query sembra corretta, in quali casi non fornisce 100 righe? –
Come hai dichiarato le tue condizioni, sono soddisfatti, anche se restituisci solo 100 righe dalla tabella C. Quindi ecco qui: SELEZIONA * DA TABLE_C DOVE ROWNUM <= 100 –