2015-10-18 119 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'; 
相关问题