"AS" 附近有语法错误。

4

我试图执行下面的语句,但是出现了错误:

ERROR: 语法错误,附近有“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。我尝试了很多方法,但都失败了。有人知道如何解决吗?


1
括号是不必要的,很可能是导致您语法问题的原因。 - jmelesky
这个语句之前有任何内容吗? - Abelisto
2个回答

4
你正在选择名为patients的表格,因此对于patient.patientid中的patient的引用是无效的。同样地,对于patient.name也是一样的(虽然我不知道为什么错误提到了as,它应该是“表格”patient”缺失FROM子句条目")。

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

以下内容应该可以工作:

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

0

在我的PostgreSQL中,它是正常工作的,并未发现任何错误。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接