2つの異なるテーブルの異なるすべての列をマージするビューを作成するにはどうすればよいですか。
CREATE VIEW listView
AS
SELECT * FROM tab1 h LEFT JOIN tab2 b
ON h.tID=b.tID
WHERE value = 0
これは私にエラーを与えます:
重複する列名'tID'
選択するすべての値をリストせずに2つのテーブルを結合する方法はありますか?
2つのテーブルには列が含まれていますtID
。をコンパイルするにはVIEW
、その列にエイリアスを作成するか、エイリアスを指定してtid
、それが由来するテーブルを指定する必要があります。
1つの解決策:
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
同じ名前を2回持つことはできません。したがって、上記のエラーが発生します。