以下のようなカラム名の重複するクエリをBigQueryのWeb UIからVIEWとして登録するとどうなるでしょうか?
select 1 as hoge, 1 as hoge
答え
VIEWは作成されるが、どのようにSELECTしても失敗するVIEWになる。
viewのスキーマ的には重複したカラム名が許されないようなので、片方の名前が hoge_1
になっています。
試しに色々な方法でクエリを実行できるかどうか検証してみましょう。
select * from `<project_id>.<dataset_id>.ill_formed_view1`;
-- Duplicate column name 'hoge' in definition of view '<project_id>.<dataset_id>.ill_formed_view1'
select hoge from `<project_id>.<dataset_id>.ill_formed_view1`;
-- Column name hoge is ambiguous at [1:8]
select hoge_1 from `<project_id>.<dataset_id>.ill_formed_view1`;
-- Unrecognized name: hoge_1; Did you mean hoge? at [1:8]
select null from `<project_id>.<dataset_id>.ill_formed_view1`;
-- Duplicate column name 'hoge' in definition of view '<project_id>.<dataset_id>.ill_formed_view1'
select null from `<project_id>.<dataset_id>.ill_formed_view1` limit 0;
-- Duplicate column name 'hoge' in definition of view '<project_id>.<dataset_id>.ill_formed_view1'
どうやってもエラーになるようです。
ちなみに
Web UIではなく、CREATE VIEW文でこのようなVIEWを作ろうとするとエラーになります。
create view `<project_id>.<dataset_id>.ill_formed_view1` as
select 1 as hoge, 1 as hoge;