-- 对一张大表的每一行,后面加多种label值
-- 其实就是笛卡尔积,举例
-- SELECT * FROM dev.dev_jiadian_user_yuge_temp 
-- CROSS JOIN
-- (
--     SELECT 0 AS label
--     UNION ALL
--     SELECT 1 AS label
--     UNION ALL
--     SELECT 2 AS label
-- )t;

-- 方法二
-- 使用数组,然后进行转置操作
-- 注意k是flag别名,必不可少

SELECT *
FROM
(
SELECT *,
       Array(0,1,2) AS flag
FROM
    dev.dev_jiadian_user_yuge_temp
 )t
lateral view  explode(flag)k AS label
;

-- 

  

参考:https://blog.csdn.net/wangguohe/article/details/79386917

         https://blog.csdn.net/dreamingfish2011/article/details/51250641

       

相关文章:

  • 2022-12-23
  • 2021-10-16
  • 2021-08-18
  • 2021-11-06
  • 2021-06-24
  • 2021-06-29
  • 2022-02-07
猜你喜欢
  • 2022-02-06
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-23
  • 2021-04-29
相关资源
相似解决方案