我有三个表 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
帮助表示赞赏