Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.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 返回组成员满足条件x的组中的所有条目_Sql_Ms Access 2010 - Fatal编程技术网

Sql 返回组成员满足条件x的组中的所有条目

Sql 返回组成员满足条件x的组中的所有条目,sql,ms-access-2010,Sql,Ms Access 2010,在Ms Access中,我试图编写一个SQL查询来回答以下问题: 返回至少有一名队员受伤的足球运动员列表中所有球队的所有球员ID 我是SQL新手。我试过类似的方法 SELECT pid FROM players WHERE team_id IN (SELECT team_id FROM players WHERE injury = 'yes') Access在中不接受此项。有没有一个简单的方法可以做到这一点?我宁愿将其作为一个查询运行,而不是创建单独的查询,这样我就可

在Ms Access中,我试图编写一个SQL查询来回答以下问题: 返回至少有一名队员受伤的足球运动员列表中所有球队的所有球员ID

我是SQL新手。我试过类似的方法

SELECT pid FROM players WHERE team_id IN 
           (SELECT team_id FROM players WHERE injury = 'yes') 

Access在中不接受此项。有没有一个简单的方法可以做到这一点?我宁愿将其作为一个查询运行,而不是创建单独的查询,这样我就可以根据需要轻松地进行更改

我很难相信它不支持中的
,但是您可以使用连接:

SELECT distinct players.pid
FROM players as injured
INNER JOIN players on players.team_id = injured.team_id
WHERE injured.injury = 'yes'

我使用了
distinct
,以防同一队中有多名受伤球员,这将导致该队球员多次返回

甚至需要加入吗?为什么不为injury='yes'@Ric yes使用带有简单where子句的简单select呢?需要一个连接。重新阅读问题:“所有受伤球员所在球队的球员”。写在纸上,您会对itAccess SQL在中的支持有更好的感觉,但您必须指定联接类型。另外,
受伤的球员
也不起作用。@Bohemian yeah最好按照你的建议写下来。刚开始的时候,我不想写!!我是否需要有两个表才能使用JOIN,或者我可以只使用一个表就可以做到这一点?这就是有效的MS Access SQL。您确定伤害是文本而不是是无数据类型吗?对于yesno,您应该说
SELECT team\u id FROM players WHERE injury=true
,您应该测试子查询以确保其工作正常。再试一次,您是对的,谢谢!如果有更好的方法写这篇文章,我愿意接受建议。