按字符串排序的配置单元

djmepvbi  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(558)
select
concat('\"',NVL(NVL(A.col1),''),'\"|',
'\"',NVL(col2,''),'\"|',
'\"',NVL(case when 
length(trim(col3))>0 then SHIP
else Col7 end,''),'\"|',
'\"',NVL(col4,''),'\"|') 
as `Mycol1,Mycol2,Mycol4,Mycol5' from TableA A left outer join TableB B 
on A.Col5 = B.Col5 ;

在这个结果上,我怎样才能按col3排序?

flseospp

flseospp1#

嵌套按排序的结果 col3 然后在外部选择所需的列。

SELECT Mycol1
    ,Mycol2
    ,Mycol4
    ,Mycol5
FROM (
    SELECT CONCAT (
            '\"'
            ,NVL(NVL(A.col1), '')
            ,'\"|'
            ,'\"'
            ,NVL(col2, '')
            ,'\"|'
            ,'\"'
            ,NVL(CASE 
                    WHEN length(trim(col3)) > 0
                        THEN SHIP
                    ELSE Col7
                    END, '')
            ,'\"|'
            ,'\"'
            ,NVL(col4, '')
            ,'\"|'
            ) AS Mycol1
        ,Mycol2
        ,Mycol4
        ,Mycol5
        ,col3
    FROM TableA A
    LEFT OUTER JOIN TableB B ON A.Col5 = B.Col5
    ORDER BY col3
    ) t;

相关问题