2015-10-18 117 views
-1

此查詢有什麼問題?Oracle SQL錯誤ORA-00933:SQL命令未正確結束

SELECT F.PART_NUM, F.DESCRIPTION, S.PART_NUM, S.DESCRIPTION, F.CLASS 
FROM PART F, PART S 
WHERE F.CLASS = S.CLASS AND F.PART_NUM < customer_num =" ORDERS.CUSTOMER_NUM" 
customer_name =" 'Johnson''s"> SELECT ORDERS.ORDER_NUM, ORDER_DATE 
FROM ORDERS, ORDER_LINE, PART 
WHERE ORDERS.ORDER_NUM = ORDER_LINE.ORDER_NUM 
AND ORDER_LINE.PART_NUM = PART.PART_NUM 
AND DESCRIPTION = 'Iron'; 
+0

分號';'在'''約翰遜'之後''' –

+2

之後有很多錯誤,這很難開始。以下是一些明顯的例子:不使用適當的'JOIN'語法;子查詢周圍沒有括號; '''似乎是指兩列; 'ORDERS.CUSTOMER_NUM'周圍的雙引號。 –

+0

雙引號用於標識符,例如「列名」。對於字符串文字使用單引號,例如「約翰遜的。 – jarlh

回答

1

難以提供與表結構正確的答案,你想實現業務邏輯的解釋,但我想你想是這樣的:

SELECT F.PART_NUM, F.DESCRIPTION, S.PART_NUM, S.DESCRIPTION, F.CLASS 
FROM PART F, PART S 
    , (SELECT customer_num 
       , customer_name 
       , order_line.part_num 
     FROM ORDERS, ORDER_LINE 
     WHERE ORDERS.ORDER_NUM = ORDER_LINE.ORDER_NUM) o 
WHERE F.CLASS = S.CLASS 
AND F.PART_NUM < o.customer_num 
and o.customer_name ='Johnson''s' 
AND o.PART_NUM = PART.PART_NUM 
AND DESCRIPTION = 'Iron'; 
相關問題