私はこれらの2つのテーブルを持っています:
表SW_ITEM
:
ID SWID ITEM_ID
1 1 99
2 2 99
3 5 99
4 2 100
5 1 100
6 1 101
7 2 102
表ITEM
:
ID FILENAME
99 abc
100 def
101 geh
102 ijk
columnは、 tableITEM_ID
の列への外部キーです。ID
ITEM
したがって、SWID「1」および「2」を持つすべてのファイル名が必要です(ITEMID 99および100になるため、ファイル名は「abc」および「def」です)
ここITEM_ID
で、同じ SWID を持つエントリが複数ある可能性があるため、次の SQL を使用できないと言わざるを得ません。
SELECT ITEM_ID FROM SW_ITEM
WHERE SWID IN (1,2)
GROUP BY ITEM_ID
HAVING COUNT(ITEM_ID) = 2
SWID 1 と 2 を持つすべてのエントリを取得する他の可能性はありますか (SWID ごとに結合を作成することもオプションではありません。エントリが多いと非常に遅くなるためです)。
敬具