これが私がやろうとしていることです。メダルが入ったテーブルがあります。user_id
柱と柱がありmedal_id
ます。同じ人user_id
は複数のメダルを持っているので、私のデータは次のようになります。
user_id | medal_id
101 1
123 2
101 2
144 1
144 2
....
たとえば、amedal_id
が 2 のすべてのメダルを (Zend を使用して) 選択する必要がありますSELECT ... NOT IN
。しかし、他の 2 つの行も削除する必要がありますuser_id
。これは、選択対象から除外しようとしている行と一致する があるためです。つまり、配列user_id
内のすべてに一致する a を持つ行を削除しようとしています。NOT IN
(セレクションには一連のメダルがあります。) これが私が考えていることです:
$db->select()->from('medals')
->where('medal_id NOT IN (?)', $medalIdsArray)
->where('user_id NOT IN (?)', _________);
しかし、空白に何を入れればよいかわかりません。ある種のサブセレクトが必要かどうか疑問に思っています。どこから始めたらいいのかわからない?誰か助けてくれませんか?ありがとう。