-1

SQL Server 2008 を使用しています

2 つのテーブルがあり、1 番目のテーブルから 2 列、2 番目のテーブルから 1 列を取得したい

JOIN を作成すると、別のことがわかります...

ここに私のコードがあります:

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つの生しか得られず、2番目のテーブルから1つの生しか得られません...2番目のテーブルに1つの生があり、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 に答える