顯示客戶的名字,客戶的電子郵件地址,產品名稱和總單位(通過將訂單上的單位添加到單位中計算),但僅限於15 2015年3月。爲計算列創建別名(「總單位」)並按產品名稱排序。SQL * Plus代碼總計和計算列
表來實現的:
- 產品..爲了
- 秩序ORDERLINE
- 客戶的父.. ..父母的訂單ORDERLINE
- 訂單行的父..子&產品
- 供應商..產品的父母
顯示客戶的名字,客戶的電子郵件地址,產品名稱和總單位(通過將訂單上的單位添加到單位中計算),但僅限於15 2015年3月。爲計算列創建別名(「總單位」)並按產品名稱排序。SQL * Plus代碼總計和計算列
表來實現的:
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
這裏:
SELECT customerFirstName, customerEmail, productName, (quantity*unitPrice) AS 'Total Price' FROM orderLine WHERE orderDate <= TO_DATE(‘2015-03-15’,’yyyy-mm-dd’) order by productName
謝謝..這是我的最終代碼,請問可以幫我查一下嗎? SELECT customerFirstName,customerEmail,產品名稱,(數量*單價)AS '總單位' FROM訂單行 WHERE orderDate存儲<= TO_DATE( '2015年3月15日', 'YYYY-MM-DD') ORDER BY PRODUCTNAME – D7m
我更新了包含日期。對於那個很抱歉。讓我知道這是否有效。 – Ntellect13
'AS'總價格'是無效的SQL。單引號用於字符串文字。標識符需要用雙引號括起來。另外Oracle沒有'datediff'函數。 –
你能提供合適的DDL的表?另外 - 你到目前爲止嘗試過什麼? – Mureinik
這是我到目前爲止所嘗試的。我不確定要添加更多內容..希望這可以回答我的問題。 SELECT customerFirstName,customerEmail,productName, quantity * unitPrice AS「Total Price」 FROM orderLine; – D7m