如何添加两列来创建一个新列

时间:2016-02-10 02:20:51

标签: sql

SELECT  ProductName, ListPrice, Discountpercent from Products
SELECT  (ListPrice/nullif(Discountpercent, 0)) as DiscountAmount FROM Products
SELECT  (ListPrice + DiscountAmount) as DiscountPrice  FROM Products;

DiscountAmount在第3行中显示为无效的列名。我该怎么做才能使它成为产品表的一部分

编辑:另外如何将Discountpercent计算为百分比?

2 个答案:

答案 0 :(得分:0)

您可以在任何想要使用DiscountAmount的地方写出(ListPrice/nullif(Discountpercent, 0)),也可以使用here

这将是在SQL Server中执行此操作的脚本。如果您按照上述链接,您将看到如何从Management Studio执行此操作。

ALTER TABLE dbo.Products ADD DiscountAmount AS  (ListPrice/nullif(Discountpercent, 0))

答案 1 :(得分:0)

您可以使用子查询或CTE:

SELECT p.*,
       (ListPrice + DiscountAmount) as DiscountPrice
FROM (SELECT ProductName, ListPrice, Discountpercent,
             (ListPrice/nullif(Discountpercent, 0)) as DiscountAmount
      FROM Products p
     ) p;

或者,或者,重复DiscountAmount

定义中的表达式