101*_*101 4 sql database derby
我在数据库中有以下表格(我只列出重要的属性):
Person(ssn,countryofbirth)
Parents(ssn,fatherbirthcountry)
Employment(ssn, companyID)
Company(companyID, name)
Run Code Online (Sandbox Code Playgroud)
我的任务是这样:在父亲国家作为输入的情况下,输出其国家分娩与父亲国家投入相匹配的人所在公司的名称.
我假装父亲是墨西哥并且这样做:
SELECT name
FROM Company
WHERE companyid = (SELECT companyid
FROM Employment
WHERE ssn = (SELECT ssn
FROM Person
WHERE countryofbirth = 'Mexico');
Run Code Online (Sandbox Code Playgroud)
但它给了我一个错误:
>Scalar subquery is only allowed to return a single row.
Run Code Online (Sandbox Code Playgroud)
我完全偏离了轨道吗?有人可以帮忙吗?
问题是您的子查询返回多个结果,因此您必须使用where invs =..
更改where ssn =到where ssn in,并where companyid =到where companyid in.
| 归档时间: |
|
| 查看次数: |
1930 次 |
| 最近记录: |