【问题标题】:Left outer join with duplicate names in two tables两个表中具有重复名称的左外连接
【发布时间】:2015-07-22 09:15:21
【问题描述】:

我正在使用 3 列对两个表进行左外连接。所有 3 列在两个表中具有相同的名称。下面是我正在使用的代码:

CREATE table tmp_hrpu_flag_acct as 
SELECT t1.*, t2.*
  FROM tmp_nrm_hrpu_tb_dd_actv_upd t1
  LEFT OUTER JOIN TMP_NRM_HRPU_TB_CUST_RTD2_Af2 t2
    ON t1.customerid = t2.customerid
   AND t1.client_category = t2.client_category
   AND t1.crs_country = t2.crs_country;

我收到了错误

[错误] 执行 (7: 17): ORA-00957: 列名重复

谁能帮我解决这个问题?

【问题讨论】:

    标签: sql oracle ddl create-table


    【解决方案1】:

    由于您正在创建表,因此不允许出现重复的列名。您应该指定每一列并给它们一个别名:

    SELECT t1.customerid      t1_customerid
    ,      t1.client_category t1_client_category
    ,      t2.customerid      t2_customerid
    ,      t2.client_category t2_client_category
    

    等等

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-12
      • 2020-01-20
      • 1970-01-01
      • 2013-12-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多