2013-03-18 56 views
0

嗨我正在使用orcale,並且在表之間創建了一個連接。我現在想插入一個計算,但它一直想出了相同的錯誤消息「ORA-00933:SQL命令不能正確地結束」 我公司生產的代碼是這個..在oracle中使用SQL進行計算

select "CUSTOMER"."CUST_ID" as "CUST_ID", 
"CUSTOMER"."CUST_TITLE" as "CUST_TITLE", 
"CUSTOMER"."CUST_FORENAME" as "CUST_FORENAME", 
"CUSTOMER"."CUST_SURNAME" as "CUST_SURNAME", 
"CUSTOMER"."CUST_ADDRESS_1" as "CUST_ADDRESS_1", 
"CUSTOMER"."CUST_ADDRESS_2" as "CUST_ADDRESS_2", 
"CUSTOMER"."CUST_TOWN-CITY" as "CUST_TOWN-CITY", 
"CUSTOMER"."CUST_COUNTY" as "CUST_COUNTY", 
"CUSTOMER"."CUST_POST_CODE" as "CUST_POST_CODE", 
"CUSTOMER"."CUST_TEL" as "CUST_TEL", 
"CUSTOMER"."CUST_EMAIL" as "CUST_EMAIL", 
"MENU_ITEM"."PRODUCT_PRICE" as "PRODUCT_PRICE", 
"ORDER_ITEM"."QUANTITY" as "QUANTITY", 
"ORDER_ITEM"."ORDER_ID" as "ORDER_ID", 
"ORDER_DETAILS"."ORDER_ID" as "ORDER_ID" 
from  "ORDER_DETAILS" "ORDER_DETAILS", 
"ORDER_ITEM" "ORDER_ITEM", 
"MENU_ITEM" "MENU_ITEM", 
"CUSTOMER" "CUSTOMER" 
where "ORDER_ITEM"."ORDER_ID"="ORDER_DETAILS"."ORDER_ID" 
and  "ORDER_DETAILS"."CUST_ID"="CUSTOMER"."CUST_ID" 
and  "MENU_ITEM"."MENU_ITEM_ID"="ORDER_ITEM"."MENU_ITEM_ID"` 

這是代碼生成錯誤消息

select "CUSTOMER"."CUST_ID" as "CUST_ID", 
"CUSTOMER"."CUST_TITLE" as "CUST_TITLE", 
"CUSTOMER"."CUST_FORENAME" as "CUST_FORENAME", 
"CUSTOMER"."CUST_SURNAME" as "CUST_SURNAME", 
"CUSTOMER"."CUST_ADDRESS_1" as "CUST_ADDRESS_1", 
"CUSTOMER"."CUST_ADDRESS_2" as "CUST_ADDRESS_2", 
"CUSTOMER"."CUST_TOWN-CITY" as "CUST_TOWN-CITY", 
"CUSTOMER"."CUST_COUNTY" as "CUST_COUNTY", 
"CUSTOMER"."CUST_POST_CODE" as "CUST_POST_CODE", 
"CUSTOMER"."CUST_TEL" as "CUST_TEL", 
"CUSTOMER"."CUST_EMAIL" as "CUST_EMAIL", 
"MENU_ITEM"."PRODUCT_PRICE" as "PRODUCT_PRICE", 
"ORDER_ITEM"."QUANTITY" as "QUANTITY", 
"ORDER_ITEM"."ORDER_ID" as "ORDER_ID", 
"ORDER_DETAILS"."ORDER_ID" as "ORDER_ID" 
    from "ORDER_DETAILS" "ORDER_DETAILS", 
"ORDER_ITEM" "ORDER_ITEM", 
"MENU_ITEM" "MENU_ITEM", 
"CUSTOMER" "CUSTOMER" 
where "ORDER_ITEM"."ORDER_ID"="ORDER_DETAILS"."ORDER_ID" 
and  "ORDER_DETAILS"."CUST_ID"="CUSTOMER"."CUST_ID" 
and  "MENU_ITEM"."MENU_ITEM_ID"="ORDER_ITEM"."MENU_ITEM_ID" 
SELECT PRODUCT_PRICE, 
     QUANTITY, 
     PRODUCT_PRICE * QUANTITY AS "TOTAL SPENT" 
FROM MENU_ITEM,ORDER_ITEM 
+2

請發佈產生錯誤消息的實際查詢。 – ruakh 2013-03-18 21:24:59

+1

您發佈的兩個查詢中的哪一個會產生錯誤? – 2013-03-18 21:26:43

+0

這是產生錯誤消息的代碼 – user2179333 2013-03-18 21:29:58

回答

2

SQL的問題是您的第二個「SELECT」語句將打開一個新的SQL命令。如果您想在查詢中添加一個名爲「TOTAL_SPENT」的新列,將PRODUCT_PRICE和QUANTITY相乘,請將其添加到主查詢的SELECT列表中。添加第二個SELECT語句不會將結果合併到第一個。

你想是這樣的:

select "CUSTOMER"."CUST_ID" as "CUST_ID", 
"CUSTOMER"."CUST_TITLE" as "CUST_TITLE", 
"CUSTOMER"."CUST_FORENAME" as "CUST_FORENAME", 
"CUSTOMER"."CUST_SURNAME" as "CUST_SURNAME", 
"CUSTOMER"."CUST_ADDRESS_1" as "CUST_ADDRESS_1", 
"CUSTOMER"."CUST_ADDRESS_2" as "CUST_ADDRESS_2", 
"CUSTOMER"."CUST_TOWN-CITY" as "CUST_TOWN-CITY", 
"CUSTOMER"."CUST_COUNTY" as "CUST_COUNTY", 
"CUSTOMER"."CUST_POST_CODE" as "CUST_POST_CODE", 
"CUSTOMER"."CUST_TEL" as "CUST_TEL", 
"CUSTOMER"."CUST_EMAIL" as "CUST_EMAIL", 
"MENU_ITEM"."PRODUCT_PRICE" as "PRODUCT_PRICE", 
"ORDER_ITEM"."QUANTITY" as "QUANTITY", 
"ORDER_ITEM"."ORDER_ID" as "ORDER_ID", 
"ORDER_DETAILS"."ORDER_ID" as "ORDER_ID", 
PRODUCT_PRICE * QUANTITY AS "TOTAL SPENT" 
    from "ORDER_DETAILS" "ORDER_DETAILS", 
"ORDER_ITEM" "ORDER_ITEM", 
"MENU_ITEM" "MENU_ITEM", 
"CUSTOMER" "CUSTOMER" 
where "ORDER_ITEM"."ORDER_ID"="ORDER_DETAILS"."ORDER_ID" 
and  "ORDER_DETAILS"."CUST_ID"="CUSTOMER"."CUST_ID" 
and  "MENU_ITEM"."MENU_ITEM_ID"="ORDER_ITEM"."MENU_ITEM_ID" 

根據是其他表中哪些列,你可能需要資格PRODUCT_PRICE和數量與他們的表名,像SQL其他列引用。

+0

非常感謝你!它確實有效,你今天救了我的品牌是我的任務浪費了一天!謝謝 – user2179333 2013-03-18 22:05:00