Hive - Unpivot functionality in hive

后端 未结 2 1176
鱼传尺愫
鱼传尺愫 2020-12-01 20:34

I have two table as follows:

Table A

userid | code | code_name | property_id
0001   | 1    | apple_id  | Y1234
0031   | 4    | mango_id  | G4567
0008         


        
2条回答
  •  北荒
    北荒 (楼主)
    2020-12-01 20:46

    You actually dont need to unpivot to get the result.

    SELECT * FROM 
    (
        SELECT userid,
            CASE WHEN property_id = apple_id THEN new_id  
                 WHEN property_id = mango_id THEN new_id  
                 WHEN property_id = grape_id THEN new_id  
                 WHEN property_id = peach_id THEN new_id
            END AS newid
        FROM
        (SELECT * FROM a FULL JOIN b) X
    ) y
    WHERE newid IS NOT NULL;
    

    Result:

    y.userid  y.newid
    1         N456098
    31        N002345
    8         N129087
    13        N109876
    

提交回复
热议问题