0
加入我的數據庫我有這兩個表:如何創建視圖有多個在同一個表
人
+----+---------+---------+
| pk | name | sirname |
+----+---------+---------+
| 1 | john | leno |
| 2 | william | wallice |
| 3 | eva | apple |
| 4 | walter | white |
+----+---------+---------+
請求
+----+-------------+----------+---------------+---------+---------+
| pk | requestdate | accepted | requestperson | parent1 | parent2 |
+----+-------------+----------+---------------+---------+---------+
| 1 | 1/1/2014 | Y | 1 | 2 | 3 |
| 2 | 1/2/2014 | N | 4 | NULL | NULL |
+----+-------------+----------+---------------+---------+---------+
要獲得請求我做的:
SELECT *
FROM request
LEFT JOIN person p_subject ON requestperson = p_subject.pk
LEFT JOIN person p_parent1 ON parent1 = p_parent1.pk
LEFT JOIN person p_parent2 ON parent2 = p_parent2.pk
這完美的作品,但是當我想創建一個視圖:
CREATE VIEW v_request AS
SELECT *
FROM request
LEFT JOIN person p_subject ON requestperson = p_subject.pk
LEFT JOIN person p_parent1 ON parent1 = p_parent1.pk
LEFT JOIN person p_parent2 ON parent2 = p_parent2.pk
我得到這個錯誤:ORA-00957: duplicate column name
我不想手動重命名所有列。我怎樣才能解決這個問題?
CREATE VIEW V_REQUEST(cname1,cname2,...),因爲是最簡單的方法。 – jarlh
你一定要列出某個地方的列名;幾乎沒有得到解決。 – Boneist
我在想,重新命名視圖中的列會比寫出問題花費更少的時間....只是說。爲什麼你不想重命名它們?否則,你如何引用正確連接的值? (即哪個sirname列是父輩姓氏與主題姓?) –