我确定这很容易。它很难找到...
value_id variation_id
1 1
2 1
1 2
3 2
现在我有一个组合(1,2)并且想要选择变体。 (编辑)我想举例如给(1,2)并得到1.给(1,3)并得到2. (/ EDIT)我该如何实现这一点?
我想到了GROUP BY value_id并以某种方式保留了每个value_id所触及的variation_id。
克里斯
答案 0 :(得分:1)
如果要选择对(1,1)(1,2)(2,1)(2,2):
select * from mytable where value_id in (1,2) and variation_id in (1,2)
答案 1 :(得分:1)
如果相同的(value_id,variation_id)组合永远不会出现两次,那么:
select variation_id from t
where value_id in(1,2)
group by variation_id
having count(variation_id)=2;
否则
select variation_id from
(select distinct value_id, variation_id from t
where value_id in(1,2)) as tmp
group by variation_id
having count(variation_id)=2;