在配置单元中创建视图合并两个表

hmtdttj4  于 2021-06-24  发布在  Hive
关注(0)|答案(1)|浏览(317)

如何创建一个视图来合并三个表工作流就像最初一个表是在mysql中创建的现在这个表已被划分为3个表并保存在配置单元中,因此我需要在mysql中创建一个视图一个表,例如表名为initialtable。这个initialtable由col1、col2、col3、col4、col5组成现在这个表在配置单元中被划分为3个表,我需要使用视图1)table1 2)table2 3)table3合并这些表
现在这个表1由col1,col3,col5组成。表2由col1,col2,col3组成。表3由col1,col5组成
现在我必须创建一个视图,以便合并这些table1,table2,table3,为此,我将把table1,table2,table3中未使用的列设置为null
像create view v1一样,从table1 union选择col1,col2为null,col3,col4,col5选择col1,col2,col3,col4为null,从table2 union col1选择col5为null,col2为null,col3为null,col4为null,从table3选择col5为null
有人能提供一个正确的语法来获得这个输出吗

bksxznpy

bksxznpy1#

假设 table1 , table2 , table3 是拆分的三个表,列如下: table1: col1,col3,col5 table2: col1,col2,col3 table3: col1,col4,col3 以及 col1 是所有三个表的主键。您可以按以下方式创建视图:

  1. CREATE OR replace VIEW initialtable AS
  2. SELECT DISTINCT a.col1,
  3. b.col2,
  4. a.col3,
  5. c.col4,
  6. a.col5
  7. FROM TABLE1 AS a
  8. join TABLE2 AS b
  9. ON ( a.col1 = b.col1 )
  10. join TABLE3 AS c
  11. ON ( c.col1 = a.col1 )

相关问题