SQL Server:2个查询之间的减法

时间:2011-02-22 11:54:16

标签: sql sql-server

我有2个查询,其中在一个表格中显示了汽车的金额,例如

Amount_Table        Cars 
800                 Car A
900                 Car B
2100                Car C

第二张表分别显示了车A,B和B的折扣。下进行。

Discount_table 
40 
10 
80

我希望有一个最终查询,其中显示Amount-Discount值

金额表有一个查询,折扣表有另一个查询。因此我希望这样做 (amount-query) - (discount query)

我做了

Select ( (amount-query) - (discount-query))

但是这引起了错误
当未使用EXISTS引入子查询时,只能在选择列表中指定一个表达式。

请帮忙!

3 个答案:

答案 0 :(得分:3)

尝试这样的事情:

Select AmountTable.Amount-isnull(DiscountTable.Discount, 0)
from AmountTable left join 
on AmountTable.Car = DiscountTable.Car

答案 1 :(得分:1)

您无法“减去”查询。您必须在表(或子查询)之间进行连接,并使用列的名称来创建表达式。

答案 2 :(得分:0)

您需要加入:

SELECT *
       ,cars_table.amount - discounts_table.discount
FROM cars_table
INNER JOIN discounts_table
    ON cars.some_key = discounts_table.some_key