Come creare un join tra due tabelle ma limitandosi alla prima riga che soddisfa la condizione di join?SQL: come limitare un join sulla prima riga trovata?
In questo semplice esempio, vorrei ottenere per ogni riga table_A prima linea table_B che soddisfa la condizione:
select table_A.id, table_A.name, table_B.city
from table_A join table_B
on table_A.id = table_B.id2
where ..
table_A (id, name)
1, John
2, Marc
table_B (id2, city)
1, New York
1, Toronto
2, Boston
The output would be:
1, John, New York
2, Marc, Boston
Può essere Oracle fornisce una tale funzione (prestazioni è una preoccupazione).
sel ect * da table_A join (selezionare * feom table_B group da id2) b su table_A.id = b.id2 dove .. –
Partecipare a un sottoquery con row_number e nella condizione join aggiungere e row_number = 1 – Mihai
Fornire un esempio di output previsto da un dato dato (dati della tabella fittizia) ci aiuterà a comprendere le tue esigenze. – saurav