【发布时间】:2026-01-09 20:55:01
【问题描述】:
我有两个表。在输出结果中,我想合并两者的数据。所以假设我必须使用 UNION 语句。我在结果集中需要什么:
- 仅来自 TABLE1 的第 1 行和第 2 行。
- TABLE2 中的所有行,其中 TABLE2/COL4 = TABLE1/COL1 在 #1 中被选中,(这些是 TABLE2 中的 1 和 3)
- 在输出结果中,将 COL2 中的数据替换为 TABLE2 行,并使用 TABLE1 的 COL2 中的数据
TABLE1------------------------------------------ COL1 COL2 COL3 1 aaa1 eee1 2 bbb1 fff1 3 ccc1 ggg1 4 ddd1 hhh1 TABLE2------------------------------------------ COL1 COL2 COL3 COL4 1 aaa2 eee2 1 2 bbb2 fff2 4 3 ccc2 ggg2 1 4 ddd2 hhh2 3 RESULT I NEED----------------------------------- COL1 COL2 COL3 1 aaa1 eee1 2 bbb1 fff1 1 aaa1 eee2 3 aaa1 ggg2
我需要这样的东西:
SELECT#1 COL1, COL2, COL3 FROM TABLE1 WHERE COL1 IN ('1','2')
UNION ALL
SELECT#2 COL1, COL2 <AS SELECT#1.COL2>, COL3 FROM TABLE2 WHERE <COL4 IN SELECT#1.COL1>
【问题讨论】:
-
第二个 SELECT 需要与 TABLE1 连接。
-
好的,但是#3 呢? (在输出结果替换数据......)。我需要一列 COL2 中两个表中的数据