2013-03-24 3 views
-3

내가 Incorrect syntax near '('의 구문 오류로 문제가 quoted price에 가까운 ( 다음 믿습니다. 이것에 어떤 도움을 크게 감상 할 수있다. 마이크로 소프트 SQL-Server Management Studio를 사용하여.근처의 구문이 잘못되었습니다 '('

귀하의 요청에
create view order_total as 

select order_num 

sum (quoted_price * num_ordered) as total_amount 

from order_line; 
+2

'select order_num, sum ... ' – Musa

+0

첫 번째 열 ('order_num') 다음에 쉼표가 없습니다. – halfer

답변

1

, 당신은 당신이 쉼표로 반환 할 열을 분리하지 않은 SELECT 문에 대한 일반 구문이 그들을 필요합니다.

create view order_total as 

SELECT order_num, 
     sum (quoted_price * num_ordered) AS total_amount 
FROM  order_line 
GROUP BY order_num; 

(좋은 방법은 forgett 중지 다음과 같이 쉼표의를 보내고하는 것은,하지 말라고 말에, 라인의 시작에 그들을 배치하는 것입니다 :

SELECT column1 
     ,column2 
     ,etc. 
FROM table 

빠르게없이 라인의 앞에 --을 넣어 열을 주석도 매우 간단하게 만듭니다 쿼리가 깨졌습니다.)

+1

그리고 선택 목록에서'order_num '을 제거하거나 질의에 GROUP BY order_num을 추가해야합니다. –

+0

감사합니다. Microsoft SQL Server Management Studio를 사용하고 있습니다. 내가 가서 올바른 코드에서 쉼표를 갖도록 코드를 조정했는데 이제 메시지 8120, 레벨 16, 상태 1, 프로 시저 order_total, 라인 2의 오류가 발생했습니다 'order_line.ORDER_NUM'열이 선택 항목에 올바르지 않습니다. list는 집계 함수 또는 GROUP BY 절에 포함되어 있지 않으므로 목록에 없습니다. – user2205669

+0

@ypercube : 좋은 지적입니다! order_num에 'GROUP BY'를 사용하여 쿼리를 수정했습니다. – Josien

관련 문제