-1

我正在使用 SQL Server 2008

我有 2 个表,我想从第一个表中获取 2 列,从第二个表中获取 1 列

当我加入时,它给了我另一件事......

这是我的代码:

Select SUM(Sales.CDnum) as CDnum, SUM(Sales.Total) as TotalMoney,
SUM(Expenses.Costs) as Expenses, SUM(Sales.Total - Expenses.Costs) as Winnings
from Sales
JOIN Expenses
ON Sales.ID = Expenses.ID

但是当我执行代码时,它只给了我第一个表中的一个原始数据和第二个表中的一个原始数据……因为我在第二个表中有 1 个原始数据,而我有很多原始数据……

有人可以帮助我....

4

1 回答 1

0

正如我所见,两个表中的 ID 列彼此不相关,因此您需要将它们联合起来,例如在此查询中:

select sum(q.sales), sum(q.expense), sum(q.sales)-sum(q.expense) as winnings
from (
    select sum(Sales.Total) as sales, 0 as expense from Sales
        union all
    select 0 as sales, sum(Expenses.Costs) as expense from Expenses
) as q
于 2013-10-11T02:16:24.347 回答