如何在下一个查询中使用一个查询的结果?

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>)