"AS" 附近的语法错误
Syntax error near "AS"
我正在尝试执行以下语句,但收到一条错误消息
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。我尝试了很多方法但都失败了。有谁知道这个的修复方法?
您 select 来自名为 patients
的 table,因此 patient.patientid
中对 patient
的引用无效,[=14 也是如此=](虽然我不知道为什么错误引用了 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';
在我的 postgres 中它正在工作。没有发现错误。
CREATE TEMPORARY TABLE IF NOT EXISTS temp_users
AS (SELECT test.id as patient FROM test WHERE test.name = 'Ann');
我正在尝试执行以下语句,但收到一条错误消息
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。我尝试了很多方法但都失败了。有谁知道这个的修复方法?
您 select 来自名为 patients
的 table,因此 patient.patientid
中对 patient
的引用无效,[=14 也是如此=](虽然我不知道为什么错误引用了 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';
在我的 postgres 中它正在工作。没有发现错误。
CREATE TEMPORARY TABLE IF NOT EXISTS temp_users
AS (SELECT test.id as patient FROM test WHERE test.name = 'Ann');