2015-04-27 109 views
-1

顯示客戶的名字,客戶的電子郵件地址,產品名稱和總單位(通過將訂單上的單位添加到單位中計算),但僅限於15 2015年3月。爲計算列創建別名(「總單位」)並按產品名稱排序。SQL * Plus代碼總計和計算列

表來實現的:

  • 產品..爲了
  • 秩序ORDERLINE
  • 客戶的父.. ..父母的訂單ORDERLINE
  • 訂單行的父..子&產品
  • 供應商..產品的父母
+1

你能提供合適的DDL的表?另外 - 你到目前爲止嘗試過什麼? – Mureinik

+0

這是我到目前爲止所嘗試的。我不確定要添加更多內容..希望這可以回答我的問題。 SELECT customerFirstName,customerEmail,productName, quantity * unitPrice AS「Total Price」 FROM orderLine; – D7m

回答

0

Check out the use of correlated sub queries

這是MySQL,但它可以應用到你可能需要的東西。

也許在您的表&數據的一些更多細節會幫助我們,我們正在假設聯接和表結構。首先確定如何在股票和順序可以加入不是加入與客戶信息...不是你確切的解決方案,但像這樣的關係:

SELECT T1.FIRST_NAME, T1.EMAIL, SUB1.TOTAL_UNITS 
FROM CUSTOMER T1 
/* CORRELATED SUB QUERY TO GROUP ORDER INFO */ 
LEFT JOIN (
    SELECT (T1.INSTOCK + T2.ON_ORDER) AS TOTAL_UNITS 
    FROM ORDER T1 
    LEFT JOIN PROUDCT T2 ON T1.CUST_ID = T2.CUST_ID 
    WHERE T1.INSTOCK = TRUE AND T2.ON_ORDER 
) AS SUB1 
0

這裏:

SELECT customerFirstName, customerEmail, productName, (quantity*unitPrice) AS 'Total Price' FROM orderLine WHERE orderDate <= TO_DATE(‘2015-03-15’,’yyyy-mm-dd’) order by productName 
+0

謝謝..這是我的最終代碼,請問可以幫我查一下嗎? SELECT customerFirstName,customerEmail,產品名稱,(數量*單價)AS '總單位' FROM訂單行 WHERE orderDate存儲<= TO_DATE( '2015年3月15日', 'YYYY-MM-DD') ORDER BY PRODUCTNAME – D7m

+0

我更新了包含日期。對於那個很抱歉。讓我知道這是否有效。 – Ntellect13

+0

'AS'總價格'是無效的SQL。單引號用於字符串文字。標識符需要用雙引號括起來。另外Oracle沒有'datediff'函數。 –