oracle 如何从先前查询的结果中选择值,以将所述值插入到WHERE子句中用于后续查询?

dba5bblo  于 2023-08-04  发布在  Oracle
关注(0)|答案(1)|浏览(88)

我正在使用Toad for Oracle。
我写了这个查询来从一个名为PM_BATCH_ST的表中选择一些BATCH_ID

SELECT BATCH_ID
FROM PM_BATCH_ST
WHERE COLUMN_DATA1 IS NULL

字符串
我得到这些结果:
| BATCH_ID |
| ------------ |
| 1000574893 |
| 1000384676 |
| 1000377654 |
还有另一个名为LG_EBR_ACTION_LIST的表,我想查询它的RECIPE_ID s,其中BATCH_ID是上一个查询结果中的任何批次ID。
我明白,我可以在WHERE子句中手动键入BATCH_ID s。但是,是否有任何方法可以通过引用PM_BATCH_ST表的查询所产生的BATCH_ID s列来将这些值插入到WHERE子句中呢?
类似于:

SELECT RECIPE_ID
FROM LG_EBR_ACTION_LIST
WHERE BATCH_ID = 'the Batch IDs from my Query of the PM_BATCH_ST Table when COLUMN_DATA1 in that Table is Null'

relj7zay

relj7zay1#

SELECT RECIPE_ID
 FROM 
LG_EBR_ACTION_LIST
 WHERE BATCH_ID in ( SELECT BATCH_ID
   FROM PM_BATCH_ST
    WHERE COLUMN_DATA1 IS NULL )

字符串

相关问题