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