2つのテーブル間で結合を行いますが、結合条件を満たす最初の行に限定する方法はありますか?この単純な例ではSQL:最初に見つかった行の結合を制限する方法は?
、私は条件を満たしてtable_Bからの最初の行table_Aに行ごとに取得したいと思います:
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
は、Oracleのような機能を提供します(パフォーマンスが問題である)であってもよいです。
selテーブル_A.id = b.id2の場合は –
row_numberのサブクエリで結合し、結合条件でaddとrow_number = 1の場合 – Mihai
期待される出力の例を提供する与えられたデータ(ダミーテーブルデータ)からあなたの要件を理解するのに役立ちます。 – saurav