我有三个表 table1、table2 和 table 3。我正在将数据获取到一个文件,其输出顺序如下所示。我想将该文件中的数据附加到无法使用 Java 创建和持久化的 table4 中。
场景:我希望这三个表中的所有数据都放在一个 cloumn 中,其中 table2 元素与C4中的 table3 元素匹配,然后我想用C5中的相应数据替换那个匹配的元素,而不是那个匹配的元素。例如,在下面提到的表格中,我们看到 table2 中的 11 与 C4 列的 table3 匹配。那么输出应该有 11_1、11_2 而不是 11。
需要帮助
Table1: Table2: Table3:
C1 C3 C4 C5
----- ------ ------ -------
1 11 11 11_1
2 12 11 11_2
3 13 14 14_1
4 14 14 14_2
5 15 14 14_3
16 null null
我工作的代码:
SELECT c1
FROM (SELECT c1
FROM table1
UNION ALL
SELECT c3
FROM table2
UNION ALL
SELECT c5
FROM table3) temp
这个查询让我得到了一切:(
SELECT C1 FROM(SELECT DISTINCT C1 AS C1 FROM table1 UNION ALL SELECT DISTINCT C2 FROM table2)AS
temp LEFT JOIN table3 ON .temp.C1=table3.C4 CASE WHEN table3.C4=NULL THEN temp.C1 ELSE table3.C5
输出要求:
表4 C1 ----- 1 2 3 4 5 11_1 11_2 12 13 14_1 14_2 14_3 15 16
帮助表示赞赏