" AS"附近的语法错误

时间:2017-02-17 04:41:25

标签: sql postgresql ddl

我正在尝试执行以下声明,并且我收到错误说明

  

错误:语法错误在" 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。我尝试了很多方法但失败了。有谁知道修复此问题?

2 个答案:

答案 0 :(得分:3)

您正在从名为patients的表中进行选择,因此patient中对patient.patientid的引用无效,patient.name的引用相同(尽管我不知道为什么错误引用as,它应该是“缺少FROM-clause条目表”病人“”)

另外:字符串常量需要放在单引号中,而不是双引号。选择周围的括号是无用的。

以下内容应该有效:

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

答案 1 :(得分:0)

在我的帖子里,它正在发挥作用。没有发现错误。

CREATE TEMPORARY TABLE IF NOT EXISTS temp_users 
AS (SELECT test.id as patient FROM test  WHERE test.name = 'Ann');