【发布时间】:2013-10-10 16:23:51
【问题描述】:
这就是我想要做的。我有一张桌子,上面有奖牌。有一个user_id 列和一个medal_id 列。拥有相同user_id 的人拥有多个奖牌,所以我的数据如下所示:
user_id | medal_id
101 1
123 2
101 2
144 1
144 2
....
我需要(使用 Zend)选择所有奖牌,例如,medal_id 为 2。使用 SELECT ... NOT IN 将从我的选择中删除第 2,3 和 5 行。但我还需要消除其他两行,因为它们有一个user_id,它与我试图从我的选择中消除的行相匹配。换句话说,我正在尝试使用与我的NOT IN 数组中的任何内容匹配的user_id 来消除行。 (在评选中会有一系列奖牌。)这是我的想法:
$db->select()->from('medals')
->where('medal_id NOT IN (?)', $medalIdsArray)
->where('user_id NOT IN (?)', _________);
但我不知道该填什么。我想知道是否需要某种子选择。我只是不知道从哪里开始?有人可以帮忙吗?谢谢。
【问题讨论】:
标签: mysql zend-framework