假设我有这样的架构:
但是,如果表格和列之间存在冲突,则这种方法无法起作用:
这只是一个不合格的列引用。
create table x (t1 int, t2 int);
create table t1 (t1 int, t2 int);
insert into x values (1, 2);
insert into t1 values (1, 2);
现在在PostgreSQL中,我可以方便地通过投影表引用来创建结果中的嵌套行:
select x from x;
生产:
|x |
|------|
|[1, 2]|
但是,如果表格和列之间存在冲突,则这种方法无法起作用:
select t1 from t1;
这只是一个不合格的列引用。
|t1 |
|---|
|1 |
现在,我正在维护一个SQL生成器,假设我不能为表设置别名(因为我可能不知道它包含什么列名,而任何别名仍然可能与实际列冲突)。
是否有任何语法可用于消除表引用和列引用之间的歧义,例如下面的假设语法?
select t1::the_table_not_the_column from t1