select emailId
from <table1>
where <cloumn1> in (select <column1>
from <table2>
where <condition1> and <condition2> and <condition3> is null
)
) as <alias Name>
在sql数据库中,我有2个与table2中的角色关联的emailID。现在,在获取时,我需要emailID和其他字段。 如何修改上面的查询使我没有得到“Subquery返回超过1个值”的错误。 PS:这个查询将是一个子查询。
答案 0 :(得分:1)
SELECT t1.emailId, *
FROM table1 t1
INNER JOIN table2 t2 ON t2.column1 = t1.column1
WHERE t2.condition = something
您可以使用内部联接。
答案 1 :(得分:0)
简答:在TOP 1
关键字和第一列之间添加SELECT
。
长答案,使用JOIN代替子查询是非常低效的。
更新:
TOP 1仅适用于MS-SQL,其他版本可能使用不同的方式来LIMIT
结果集,但解决方案是相同的。