Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL选择team_id为的所有项目(列表中的1和2、3和4以及..rest值)_Sql_Postgresql - Fatal编程技术网

SQL选择team_id为的所有项目(列表中的1和2、3和4以及..rest值)

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年,我想你也需要分组,并拥有: 请注意,您不需

我尝试选择团队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年,我想你也需要分组,并拥有:

请注意,您不需要连接:

如果团队中的行是唯一的,请使用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;