MySQL查询获取第2列中具有一组值的coumn 1的值

时间:2015-11-30 08:26:15

标签: mysql sql

我有一个包含以下数据的表:

==============
 item | tagid
--------------
 1111 |   101
 1111 |   102
 2222 |   101
 2222 |   103
 3333 |   104
 4444 |   105
 4444 |   106
 5555 |   101
 5555 |   103
==============

我想要所有带有tagid 101103的商品。在上面的示例中,可能是项22225555,因为它们都有101103标记。

我该怎么做?

5 个答案:

答案 0 :(得分:1)

这样的事情应该有效:

select item from table
where tagid in(101, 103)
group by item
having count(distinct tagid) = 2

答案 1 :(得分:1)

您可以尝试以下操作:

select item
from tbl
where tagid in (101, 103)
group by item
having count(distinct tagid) = 2

答案 2 :(得分:0)

假设tagid对于每个项目都是唯一的(即item和tagid的组合是unqiue):

_firstName.borderStyle = UITextBorderStyleNone;
[self drawDashedBorderAroundView:_firstName];

如果不是唯一的(不太可能),请使用select item from mytable where tagid in (101, 103) group by item having count(*) = 2

答案 3 :(得分:0)

SELECT item
FROM tbl
WHERE tagid in (101, 103)
GROUP BY item
HAVING COUNT(DISTINCT tagid) = 2;

答案 4 :(得分:-3)

尚不清楚。您已经拥有带有请求标签的商品2222和5555.

SELECT * FROM DATASET WHERE DATE_=(@DATE_) AND NAME_= ISNULL((@NAME_), NAME_)

但是你还有其他标签:

2222 101
5555 103

您需要删除最后的数据

2222 102
5555 101