次のテーブル構造があります。
item_id | 値 | ================== 1 | 1 | 1 | 3 | 1 | 4 | 2 | 2 | 2 | 3 | 2 | 4 | 2 | 5 | 3 | 1 | 3 | 5 | 3 | 6 | 4 | 1 | 4 | 3 | 4 | 4 | 4 | 5 |
値が 1、3、および 4 に一致する item_id を返すクエリがあります。ここでは、返される必要がある item_id は 1 と 4 です。
私のクエリ:
テーブル t から item_id を選択 存在する場所 (値 = 1 および t1.item_id = t.item_id のテーブル t1 から item_id を選択) および存在する (値 = 2 および t1.item_id = t.item_id であるテーブル t1 から item_id を選択) item_id によるグループ化
このクエリは正常に機能しています。ここでは、3 つの値のみを照合しています。テーブルから 50 個のそのような値を一致させたい場合はどうすればよいですか? (50 個の値はすべて php 配列に格納されます) クエリは巨大になり、同じクエリ内の 2 つの異なるテーブルから同じことを実行したいと考えています。したがって、これにより、すでに巨大なクエリのサイズが 2 倍になります。他の方法を提案してください。
編集::
表 2 -------- item_id | ユーザー ID | ================== 1 | 1 | 1 | 5 | 1 | 7 | 2 | 2 | 2 | 3 | 2 | 4 | 2 | 5 | 3 | 1 | 3 | 5 | 3 | 6 | 4 | 1 | 4 | 3 | 4 | 4 | 4 | 5 |
ここで、table1 の値が 1,3,4 であり、table2 の user_id が 1,5,7 である item_id が必要です