我有两个表,A
和B
,它们有不同的列,其中一些列同名.
CREATE TABLE A (
id serial PRIMARY KEY,
col_a int,
col_b int,
col_c int
);
CREATE TABLE A (
id serial PRIMARY KEY,
col_a int,
col_b int,
col_e int
);
我想加入col_a
的两个表,如下所示:
select * from A a join B b USING(col_a)
最终,我想从这个查询create view my_view as (...)
创建一个视图.但是当我这样做时,我得到一个错误,因为列id
和col_b
出现了两次.有没有办法在联接时将前缀/后缀添加到表B
的列中,从而不会出现名称冲突?
编辑
为了清楚起见,我不想使用别名,因为实际上我的表有O(50)列,而我想使用通配符*
.如果您使用别名,这肯定是一个解决的问题,但特别是在我的例子中,我正在创建视图的视图,我希望语法糖能使它变得更简单.