SQL * Plus代码总计和计算列

时间:2015-04-27 16:51:52

标签: sql oracle

显示客户名,客户电子邮件地址,产品名称和总单位(通过在订单中向库存中添加库存单位计算),但仅适用于2015年3月15日或之前下达的订单。为此创建别名计算列(“总单位”)并按产品名称排序。

要实施的表:

  • 产品.. orderLine的父母
  • 客户..订单的父母
  • order .. orderLine的父级
  • OrderLine ..订单的孩子&产品
  • 供应商..产品母公司

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

Check out the use of correlated sub queries

这是MySQL,但它可以应用于您可能需要的内容。

也许有关您桌子的更多细节&amp;数据将有助于我们,我们对连接和表结构做出假设。首先确定关于如何加入库存和订单的关系,而不是加入与客户信息的关系......不是您的确切解决方案,而是类似这样的事情:

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
相关问题