我试图从一个表中选择使用另一个表的选择结果。我可以在两个查询中运行此查询,但希望将其优化为一个查询。
第一次查询. .选择与其他id匹配的id
select id from lookuptable where paid = '547'
结果如下
631635263163536318409631841063204686320469632047063225266322527632458663245876326648
我想用这个结果来做另一个选择。我可以像下面这样手动操作。注意,可能有很多行具有这些值,所以我一直在使用IN语句
select * from "othertable" where id in (6316352,6316353,6318409,6318410,6320468,6320469,6320470,6322526,6322527,6324586,6324587,6326648);
select
ot.*
from
"othertable" as ot
join
lookuptable as lt
on
ot.id = lt.id
where
lt.paid = '547'
IN
操作符不仅支持值列表,还支持子查询,因此您可以直接写入
select * from "othertable" where id in (select id from lookuptable where paid = '547');