小编Kar*_*sus的帖子

第二个查询中的 UNION 表基于 Oracle sql 中第一个查询的结果

我正在努力解决以下问题(进一步提供伪代码以使我的示例更容易理解)

\n

假设我有 2 个查询,我想将其结果联合起来

\n

query1 输出如下:

\n
\nID 报价\n1 prod_1\n2 prod_2\n3 prod_2\n4 prod_1\n
\n

query2 输出如下:

\n
\nID 段\n1 低\n2 高\n3 中\n999 中\n
\n

我需要做的是合并这两个查询的结果,但避免获取 ID = 999 的行

\n

是否有任何方法可以通过根据 query2 的列 ID 中存在的列 ID 的值从 query2 中提取行来使用 UNION 来执行此操作?

\n

我知道下面的代码是不正确的,但它很大程度上传达了 \xe2\x80\x8b\xe2\x80\x8b 这个问题的想法:

\n
--query1\n(\n SELECT ID, OFFER\n FROM TAB1\n WHERE ID <= 4\n) RES1\nUNION\n--query2\nSELECT ID, SEGMENT\nFROM TAB1\nWHERE ID IN (SELECT ID FROM RES2)\n
Run Code Online (Sandbox Code Playgroud)\n

结果应如下

\n
\nID 报价\n1 prod_1\n2 prod_2\n3 prod_2\n4 prod_1\n1 低\n2 高\n3 中\n …

sql oracle union

3
推荐指数
1
解决办法
2349
查看次数

标签 统计

oracle ×1

sql ×1

union ×1