2016-01-27 31 views
1

我想加入下列表格(records,tip)。目標是將添加失蹤的WAR行(取決於ID)。例如,您看到ID = 80缺少WAR = 2連接表:僅(!)添加缺失行

注意:WAR總是小於或等於TIP的值。在添加的行中,Value的值應該是NULL。底部的桌子是目標。

enter image description here

我不知道如何解決這個問題。但是這個結果的條件是records."TIP" >= tip."TIP"

我使用HANA作爲數據庫。

預先感謝您。最好的祝福。

+1

我不熟悉的花,但你可以:選擇ditinct ID,MAX(尖),加入TIP在1 = 1的地方,其中tip sagi

回答

0

這是它是如何工作(對不起所有這些技巧是有點混亂):

SELECT a."ID", b."TiP" "WAR", c."VAL" FROM (
     SELECT DISTINCT "ID", MAX("TIP") "max" FROM records t 
     GROUP BY "ID" 
    ) a 
    INNER JOIN tip b ON 1=1 
    LEFT JOIN T0 c ON a."ID" = c."ID" AND b."TiP" = c."WAR" 
    WHERE b."TiP" <= a."max" 
    ORDER BY a."ID", b."TiP"