SQL DB2将查询结果存储到变量中

时间:2014-07-18 11:33:19

标签: sql

使用DB2表: 这是在表格中手动完成的内容

select app_id from table_app where APP_NAME='App_Temp';

给我一​​个身份证,说它是234

我复制而不是:

select * form table_roles where role_app_id=234;

给我一​​排,这是我想要的最终结果。

有没有办法将第一个的结果保存到变量中,并且在没有使用局部变量之间的手动步骤的情况下进行第二个查询?

我知道,您可以通过两个表之间非常简单的连接来查询信息,但我想知道它如何与变量一起使用。有办法吗?

1 个答案:

答案 0 :(得分:1)

只需插上即可:

select *
from table_roles
where role_app_id = (select app_id from table_app where APP_NAME = 'App_Temp');

如果可以有多个匹配,请使用in代替=

您也可以将此短语称为加入:

select r.*
from table_roles r join
     table_app
     on r.role_app_id = a.app_id and APP_NAME = 'App_Temp';

但是,如果两个应用程序具有相同的名称,则可能会返回重复项。在这种情况下,请使用select distinct

select distinct r.*
from table_roles r join
     table_app
     on r.role_app_id = a.app_id and APP_NAME = 'App_Temp';