如何在下一个查询中使用一个查询的结果?
How to use the results of one query in the next query?
我已经阅读了此处的答案,但我仍然不太确定如何针对 table 的两列和每个查询的多个结果执行此操作。
因此,第一个查询在我的 Node 应用程序中将如下所示:
select stype, lid from Profiles where lid_P=${profile.lid} and stype_P='${profile.stype}';
// result can consist of 1-50 objects
我需要以下查询的结果:
select * from an where stype=stype and lid=lid;
// where lid and stype are results from the other query
我只需要第二个查询的结果,但我无法只执行一个查询来同时执行这两个查询。有人可以帮我吗?感谢任何帮助。
谢谢!
你似乎想要exists
:
select *
from an a
where exists(
select 1
from profiles p
where
p.stype = a.stype and p.lid = s.lid
and p.lid_p = @profile_lid and p.style_p = @profile_stype
)
@profile_lid
和 @profile_stype
是查询的参数 - 我建议使用它们而不是在查询字符串中连接变量。
你尝试了吗
select *
from an
where (stype, lid) in (select distinct ... <your first query>)
我已经阅读了此处的答案,但我仍然不太确定如何针对 table 的两列和每个查询的多个结果执行此操作。
因此,第一个查询在我的 Node 应用程序中将如下所示:
select stype, lid from Profiles where lid_P=${profile.lid} and stype_P='${profile.stype}';
// result can consist of 1-50 objects
我需要以下查询的结果:
select * from an where stype=stype and lid=lid;
// where lid and stype are results from the other query
我只需要第二个查询的结果,但我无法只执行一个查询来同时执行这两个查询。有人可以帮我吗?感谢任何帮助。
谢谢!
你似乎想要exists
:
select *
from an a
where exists(
select 1
from profiles p
where
p.stype = a.stype and p.lid = s.lid
and p.lid_p = @profile_lid and p.style_p = @profile_stype
)
@profile_lid
和 @profile_stype
是查询的参数 - 我建议使用它们而不是在查询字符串中连接变量。
你尝试了吗
select *
from an
where (stype, lid) in (select distinct ... <your first query>)