如何創建一個視圖來合併來自兩個不同表格的不同所有列。MySQL創建視圖加入兩個整個表格
CREATE VIEW listView
AS
SELECT * FROM tab1 h LEFT JOIN tab2 b
ON h.tID=b.tID
WHERE value = 0
這給我的錯誤:
Duplicate column name 'tID'
有沒有一種方法來連接兩個表沒有列出所有的值來選擇?
如何創建一個視圖來合併來自兩個不同表格的不同所有列。MySQL創建視圖加入兩個整個表格
CREATE VIEW listView
AS
SELECT * FROM tab1 h LEFT JOIN tab2 b
ON h.tID=b.tID
WHERE value = 0
這給我的錯誤:
Duplicate column name 'tID'
有沒有一種方法來連接兩個表沒有列出所有的值來選擇?
這兩個表格包含列tID
。爲了編譯VIEW
,您需要在該列上創建一個別名,或者只需指定一個tid
和表格的來源。
一種解決方案:
SELECT h.TID, -- and not specifying b.TID
FROM tab1 h LEFT JOIN tab2 b ON h.tID=b.tID
另一種解決方案:提供一個別名,
SELECT h.TID as H_TID,
b.TID as B_TID
FROM tab1 h LEFT JOIN tab2 b ON h.tID=b.tID
你需要這樣指定,而不是使用*列名和別名,然後你的專欄:
SELECT h.tId, b.tId as BTId
你不能有相同的名字兩次 - 因此你上面的錯誤。
嘗試這種情況:
CREATE VIEW listView
AS
SELECT
a.tID as a_tID,
b.tID as b_tID,
a.anothercolumn as a_anothercolumn,
b.anothercolumn as b_anothercolumn
FROM tab1 a
JOIN tab2 b ON a.tID=b.tID
WHERE a.value = 0;
我用H *從一個表中選擇所有列和。然後是第二個表中的colomns的別名 – user2129160 2013-03-03 16:42:23