我如何在select语句中获得计算列?

时间:2014-12-02 03:50:30

标签: sql sql-server

我有3张桌子。

一个是PRODUCT表,它有unitSalePrice,其他表格为ORDERPRODUCT,它有一个列productQuantity(来自特定产品的订单数量)以及{ {1}}添加客户订单的详细信息。

我写了这样一个ORDERS语句:

SELECT

但是这个SELECT ORDERPRICE FROM PRODUCT, ORDERPRODUCT, ORDERS WHERE ORDERPRODUCT.PRODUCT_ID = PRODUCT.PRODUCT_ID AND ORDERS.ORDER_ID = ORDERPRODUCT.ORDER_ID AND ORDERPRICE AS (ORDERPRODUCT.PRODUCTQTY * PRODUCT.UNITSALEPRICE) ; 列不在这3个表中,它是虚拟列。

当我运行此查询时,它会给出错误列不存在。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您应该学会使用明确的join语法:

SELECT (op.PRODUCTQTY * p.UNITSALEPRICE) AS ORDERPRICE
FROM PRODUCT p JOIN
     ORDERPRODUCT op
     ON op.PRODUCT_ID = p.PRODUCT_ID JOIN
     ORDERS o
     ON o.ORDER_ID = op.ORDER_ID;