如何创建一个视图来合并来自两个不同表格的不同所有列。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