2017-02-17 37 views
1

我試圖執行下面的語句,我得到一個錯誤,說明語法錯誤附近的「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 0.6。我嘗試了很多方法但失敗了。有沒有人知道這個問題的解決方法?

+1

括號不需要,可能是什麼導致你的語法問題。 – jmelesky

+0

**陳述前有任何內容**嗎? – Abelisto

回答

2

您是從一個名爲patients所以在patient.patientid引用patient是無效的表,同爲patient.name(雖然我不知道爲什麼錯誤引用as選擇,它應該是「缺少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

在我的Postgres這是工作。找不到錯誤。

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