データを抽出する必要がある 2 つのテーブルがあります。Table1 (t1) とサンプル値:
| rq_id | user_id | is_good |
|----- 1 |---- 223 |-------- 0 ---- |
|----- 3 |---- 223 |-------- 1 ---- |
|----- 4 |---- 239 |-------- 0 ---- |
|----- 5 |---- 223 |-------- 0 ---- |
Table2 (t2) とサンプル値:
| rq_id | version | random_content |
|---1---|---3------|------A------|
|---1---|---2------|------B------|
|---1---|---1------|------C------|
|---3---|---2------|------D------|
|---3---|---1------|------F------|
|---5---|---2------|------X------|
|---5---|---1------|------W------|
Table1 では rq_id は一意であり、table2 には同じ rq_id を持つ複数の行があります。
Table2 から rq_id ごとに 1 行を取得する必要があります (バージョンが最も高いもののみ)。Table2 から request_ids を選択する基準は、user_id=223 および is_good="0" である Table1 から取得されます。
したがって、この場合は、 と を返したいと思い
|---1---|---3------|------A------|
ます
|---5---|---2------|------X------|
。
これは、いくつかのジョイントと個別の選択/内部選択などを使用して、1 つの高速 SQL クエリで実行できますか?