我有2個表(2列(user_id和year))。Oracle給出了列名
查詢1:
SELECT * FROM table_1 t1
FULL JOIN table_2 t2 ON t1.user_id=t2.user_id AND t1.year=t2.year
主要生產以下列名:
user_id, year, user_id_1, year_1
QUERY2:
CREATE TABLE table_copy AS SELECT * FROM
(SELECT * FROM table_1 t1
FULL JOIN table_2 t2 ON t1.user_id=t2.user_id AND t1.year=t2.year);
主要生產以下含糊列名:
QCSJ_C000000000400000, QCSJ_C000000000400002, QCSJ_C000000000400001, QCSJ_C000000000400003
有沒有一種簡短的方法來強制Oracle query2
使用與query1
相同的名稱,而無需明確寫入(在有許多列時這很重要)?也許一些Oracle設置?
您應該始終明確指出您的列。沒有令人信服的理由不會。 – skaffman
您可以編寫一個查詢,該查詢將包含每個表的* only * 1中的user_id列和年份列,以避免額外的數據(由於多列)在目標表中填充。 – shahkalpesh
我的意圖是要足夠懶惰來完成所有連接,然後手動刪除重複的列,因爲要刪除的列數少於顯式指定的狀態數。儘管我不知道它在添加或刪除現有表格上的列時對行鏈和其他物理參數會產生什麼影響。 – reforrer