2017-02-17 4 views
1

나는 아래 문을 실행하려고, 나는 다음구문 오류 근처

ERROR: syntax error at or near "AS"

을 알리는 오류를 받고 있어요는

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

내 포스트 그레스 버전은 내 SQL 문 9.5입니다 .6. 나는 여러 가지 방법을 시도했지만 실패했다. 누구든지이 문제를 알고 있습니까? 당신은 patients 그래서 patient.patientid에서 patient에 대한 참조가 잘못되었습니다라는 테이블, 오류가 as를 참조하는 이유는 모르겠지만 (patient.name에 대해 동일한에서 선택하는

+1

괄호는 필요하지 않으며 구문 문제의 원인 일 수 있습니다. – jmelesky

+0

진술 ** 전에 ** 내용이 있습니까? – Abelisto

답변

2

, 그것은 오히려 는 절에서 누락 "이어야합니다 테이블 "환자"에 대한 항목 ")

또한 문자열 상수는 큰 따옴표가 아닌 작은 따옴표로 묶어야합니다. 그리고 선택 주위의 괄호는 쓸모가 없습니다.

다음 작업을해야합니다 :

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

합니다. 오류를 찾을 수 없습니다.

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