SQL选择team_id为的所有项目(列表中的1和2、3和4以及..rest值)
我尝试选择团队id=值列表的项目; 例如:值列表为9,7,6,4,3,1 我想创建一个查询选择项,该项的team_id=9,7,6,4,3,1 我的尝试:SQL选择team_id为的所有项目(列表中的1和2、3和4以及..rest值),sql,postgresql,Sql,Postgresql,我尝试选择团队id=值列表的项目; 例如:值列表为9,7,6,4,3,1 我想创建一个查询选择项,该项的team_id=9,7,6,4,3,1 我的尝试: select item_id from t_item as i join team as t on t.item_id = i.id where t.id in (1221, 1219, 1); 但它像1221年、1219年或1年那样工作,但我想在1212年、1219年和1年,我想你也需要分组,并拥有: 请注意,您不需
select item_id
from t_item as i join
team as t
on t.item_id = i.id
where t.id in (1221, 1219, 1);
但它像1221年、1219年或1年那样工作,但我想在1212年、1219年和1年,我想你也需要分组,并拥有:
请注意,您不需要连接:
如果团队中的行是唯一的,请使用count*而不是countdistinct。我认为您需要分组方式,并具有:
请注意,您不需要连接:
如果团队中的行是唯一的,请使用count*而不是countdistinct。@lucumt,为什么不使用呢。比如说项目是防护帽,球队是足球队、排球队、美式足球队、棒球队、曲棍球队、篮球队。美国橄榄球、棒球和曲棍球都使用防护帽。但如果说像棒球棒这样的东西只在棒球中使用。@lucumt,为什么不呢。比如说项目是防护帽,球队是足球队、排球队、美式足球队、棒球队、曲棍球队、篮球队。美国橄榄球、棒球和曲棍球都使用防护帽。但是假设像棒球棒这样的东西只在棒球中使用。
select i.item_id
from t_item as i join
team as t
on t.item_id = i.id
where t.id in (1221, 1219, 1)
group by i.item_id
having count(distinct t.id) = 3;
select t.item_id
from team t
where t.id in (1221, 1219, 1)
group by t.item_id
having count(distinct t.id) = 3;