最近在做一個HIVE統計需求,遇到的場景需要把多個不同的單行結果合成一行,首先已經使用WITH ....AS 作出幾個中間結果表:
with A as (
),B as (
),C as(
)
方案有如下幾個:
1、select A.* ,B.* ,C.* from A,B,C
2、人為的增加一個關聯,比如是按月匯總,可以各個內存表中增加同一個關聯列,然后通過left jion等關聯成一行
3、使用left join 或 join on 等在on后面接為true的表達式,如on 1=1(需先設置非嚴格模式:set hive.mapred.mode=nonstrict);
備注:
通過直接select (),(),()的子查詢 的方式,不可行