如何创建一个视图来合并来自两个不同表的不同所有列。
CREATE VIEW listView
AS
SELECT * FROM tab1 h LEFT JOIN tab2 b
ON h.tID=b.tID
WHERE value = 0
这给了我错误:
重复的列名“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
试试这个:
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;
您需要指定列名而不是使用 * ,然后像这样为您的列设置别名:
SELECT h.tId, b.tId as BTId
您不能两次使用相同的名称-因此出现上述错误。