Когда я пытаюсь создать представление в Vertica от объединения,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"
В non-Vertica SQL, я знаю, что могу использовать ключевое слово USING
, когда оба имени столбца ключа одинаковы, , но Vertica не имеет [EDIT: wij указал, что Vertica SQL имеет USING
USING
]. Я также мог бы перечислять столбцы явно, а не выбирать *
, но в одной из таблиц есть сотни столбцов, и я хочу их всех (кроме дубликата ключа). Там также doesn't seem to be an easy way, чтобы выбрать все, кроме одного столбца.
Есть ли способ выбрать только один ключевой столбец в соединении, когда имена столбцов одинаковы без USING
?
Vertica * делает *, имеющий ключевое слово USING (попробуйте). Сама ошибка - это другая проблема - мне научили, что лучше всего перечислять все имена столбцов в любом определении определения (защищать от неожиданных изменений схемы или переименовывать или изменять столбцы). Если в одной из ваших таблиц есть тонна столбцов, используйте специальную таблицу 'select column_name из столбцов , где table_name = 'foo'', чтобы распечатать их все. Вам нужно только сделать это один раз. – wij