【发布时间】:2016-10-12 20:01:05
【问题描述】:
大家好,希望这很简单。我只学习了一个简单的 SQL 课程,现在正试图将它应用到一个真正的 postgres 数据库中。我遇到的直接困难是在模式级别(多个模式)处理事情,而我所学到的一切只处理在单个模式中的多个表之间进行查询。
我正在尝试使用 one step more than this questioner 并按模式过滤,但事情对我来说表现得很奇怪
这就是我的意思。这个查询返回我期望的结果(并且被提升straight from this SO example):
所以到目前为止,鉴于我的 sql 培训,我认为我可以获取输出并进一步完善它。
select table_name
from (select table_name, table_schema from information_schema.columns where column_name = 'user_id')
where table_schema = "web_app"
这样做会产生一个非常奇怪的错误:
为什么将明显是字段的内容视为列?这个derived_table1 是什么? (大概是复合查询?)
在极不可能的情况下,这是一个软件问题,我正在使用 Navicat premium 9.1.2 并连接到 amazon redshift。
【问题讨论】:
-
"web_app"是一个标识符。字符串常量需要放在单引号中:'web_app'。 postgresql.org/docs/current/static/… -
上帝。没有人说过双引号与单引号不同。这在语法上对我来说仍然没有意义,但它是正确的答案。非常感谢。
-
嗯,这就是 70 年代 SQL 语言的指定方式
标签: sql postgresql schema navicat