当我尝试从联接在Vertica中创建视图时,
CREATE VIEW c AS
SELECT * FROM a JOIN b ON a.key = b.key;
我得到一个错误,因为关键列是重复的:
ROLLBACK 5450: View definition can not contain duplicate column names "key"
在非Vertica SQL中,我知道当两个键列名相同时,我可以使用USING
关键字,但Vertica没有[EDIT:wij指出Vertica SQL确实有USING
USING
]。我也可以显式列出列,而不是选择*
,但其中一个表有数百列,我想要所有列(除了重复键)。除了一列之外,似乎没有一种简单的方法可以选择所有列。
在没有USING
的情况下,当列名相同时,是否有方法在联接中只选择一个键列?
写入列列表(因为两个表都有字段键),例如:
CREATE VIEW c AS
SELECT a.*, b.field1, b.field2 FROM a JOIN b ON a.key = b.key;