表1、表2、表3の3つのテーブルがあります。以下に示すように、出力のシーケンスを使用してデータをファイルに取得しています。そのファイルに入ってくるデータを、Javaを使用して作成および永続化できないtable4に追加したいと思います。
シナリオ:この3つのテーブルのすべてのデータを1つのクロームにまとめ、table2要素がC4のtable3要素と一致するようにし、一致した要素の代わりに、その要素をC5の対応するデータに置き換えます。たとえば、以下の表では、表2の11が列C4の表3と一致していることがわかります。その場合、出力には11ではなく11_1、11_2が含まれるはずです。
必要なヘルプ
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
ヘルプをいただければ幸いです