sql - "AS"附近的语法错误

标签 sql postgresql ddl

我正在尝试执行下面的语句,但我收到一条错误消息

ERROR: syntax error at or near "AS"

下面是我的SQL语句

CREATE TEMPORARY TABLE IF NOT EXISTS temp_users 
AS 
(SELECT patient.patientid as patient 
 FROM patients 
 WHERE patient.name = "Ann");

我的 Postgres 版本是 9.5.6。我尝试了很多方法但都失败了。有谁知道这个的修复方法?

最佳答案

您正在从名为 patients 的表中进行选择,因此 patient.patientid 中对 patient 的引用无效,对于 也是如此patient.name(虽然我不知道为什么错误引用了 as,但它应该是“missing FROM-clause entry for table "patient" ")

另外:字符串常量需要放在单引号中,而不是双引号。并且 select 周围的括号没有用。

以下应该有效:

CREATE TEMPORARY TABLE IF NOT EXISTS temp_users 
AS 
SELECT p.patientid as patient 
FROM patients p
WHERE p.name = 'Ann';

在线示例:http://rextester.com/PVMT64289

关于sql - "AS"附近的语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42289535/

相关文章:

sql - 如何在 SQL 中按月按产品创建数据透视表

sql - 将同一表中的其他记录数组添加到每条记录

python - GeoDjango touches 功能很慢

sql - Oracle SQL - 检查约束

hive - Hive 中的日期比较

sql-server - 引用列的统计信息是否会阻止删除该列?

mysql - 将 LIKE 与准备好的语句一起使用

php - Laravel 5.1 Eloquent 查询语法

mysql - SQL 仅选择列上具有最大值的行

python - Django Postgres 导入错误 : is the server running locally and accepting connections on Unix domain socket?