私はそのような状況を持っています:
表 1: pk1 int、pk2 int、string1、string2、string3 表 2
: pk3 int、string4、string5、string6
最初のテーブルの pk2 int は、2 番目のテーブルの pk3 (インデックス) と同じです。テーブルを作成するとき、私は二次キーを使用していませんでした。可能であれば、これらの 2 つのテーブルを単一のクエリでクエリする必要があります。これまでは、次の 2 つのクエリでこれを行いました。
SELECT pk1, pk2, string1, string2, string3
FROM table1
WHERE string1 ILIKE 'a%'
次に、結果をループします。
SELECT pk3, string4, string5, string6
from table2 WHERE pk3=" & Cint(reader.GetValue(1))
注: reader.GetValue(1) = 最初のテーブルの pk2)
最後に、次のような必要なローカル結果が得られます。
1、文字列 1、文字列 2、文字列 3、文字列 4、文字列 5、文字列 6
2 番目のクエリで ANY または IN を使用して少し単純化しましたが、PostgreSQL のような強力なデータ システムが 1 つのクエリでこれを実行できると信じています。
そのクエリは、示された例でどのように見えるべきですか?