Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.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/0/mercurial/2.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:子查询返回了多个值_Sql - Fatal编程技术网

SQL:子查询返回了多个值

SQL:子查询返回了多个值,sql,Sql,在sql数据库中,我有两个与表2中的角色关联的emailID。现在,在获取时,我需要两个emailid以及其他字段。 如何修改上面的查询,使子查询返回的值不超过1个错误。 PS:此查询将是一个子查询。简短回答:在SELECT关键字和第一列之间添加TOP 1 答案很长,使用JOIN作为子查询效率很低 更新: TOP1仅适用于MS-SQL,其他版本可能会使用不同的方法限制结果集,但解决方案是相同的 select emailId from <table1> where <cloumn

在sql数据库中,我有两个与表2中的角色关联的emailID。现在,在获取时,我需要两个emailid以及其他字段。 如何修改上面的查询,使子查询返回的值不超过1个错误。 PS:此查询将是一个子查询。

简短回答:在SELECT关键字和第一列之间添加TOP 1

答案很长,使用JOIN作为子查询效率很低

更新: TOP1仅适用于MS-SQL,其他版本可能会使用不同的方法限制结果集,但解决方案是相同的

select emailId
from <table1>
where <cloumn1> in (select <column1>
                    from <table2>
                    where <condition1> and <condition2> and <condition3> is null
                   )
                  ) as <alias Name>

您可以只使用内部联接。

显然,这只是整个查询的一部分,而不是向您提供错误消息的部分。您提供的查询应该在第二天返回错误。子查询很好,因为它是一个in查询。@GordonLinoff我认为op将整个查询用作另一个SELECT上的列。此子查询引发错误,如果我删除它,整个查询工作正常。您使用哪个数据库引擎?MySQL、MSSQL、Oracle、PostgreSQL?
SELECT t1.emailId, *
FROM table1 t1
INNER JOIN table2 t2 ON t2.column1 = t1.column1
WHERE t2.condition = something