【发布时间】:2022-01-20 00:22:49
【问题描述】:
我正在使用 SQL-92(也称为 SQL/2、Netezza)。我注意到,即使我的表中的变量名没有引号 (""),以下 SQL 命令也不起作用:
select var_1 from my_table limit 100;
ERROR: ATTRIBUTE "VAR_1" NOT FOUND
但另一方面,这个 SQL 命令确实有效:
select "var_1" from my_table limit 100;
因此,我假设由于某种原因,我现在需要用引号 ("") 指定所有变量
问题:我正在尝试运行以下查询:
create table test as
select a.*, b.* from (
select "var_1", "var_2", "var_3" from table_1)a
inner join (select "var_4", "var_5", "var_6" from table_2)b
on (( "a.var3" = "b.var_4" or "a.var2" = "b.var_5") and ("a.var1" = "b.var6") )
但这会返回以下错误:
ERROR: Attribute "a.var3" not found
谁能告诉我我做错了什么?我尝试在连接变量周围使用/不使用“”运行上述代码,但似乎没有任何效果。
谢谢!
【问题讨论】:
-
不知道 Netezza。但是,在创建表时如何声明列是否重要?
create table test("var_1" int)与create table test(var_1 int) -
@LukStorms:谢谢你的回复!我会调查的!
标签: sql join data-manipulation