1

2 日間私を混乱させてきた質問があります。これが問題です。次のようなテーブルがあります。

ここに画像の説明を入力

私がやりたいことは、同じテーブルになるグループ化を行うことです。上記の例では、次のようになります。

ここに画像の説明を入力

このようなことが実現できるでしょうか?お気づきのとおり、さまざまな列でグループ化しています。これは 1 つのクエリで行う必要はありませんが、1 つのテーブル/データセットで終了する必要があります。

4

3 に答える 3

2

各セットを個別に合計し、 を使用して結合しfull outer joinます。これは、販売年数はあるが収益年数ではない、またはその逆のように見えるためです...

SELECT
    ISNULL(PeriodEarnedYear, [Sale Year]) AS [Year],
    Earned,
    Sale
FROM
(
    SELECT
        PeriodEarnedYear,
        SUM(PeriodEarned) AS Earned
    FROM YourTable
    GROUP BY PeriodEarnedYear
) p FULL OUTER JOIN
(
    SELECT
        [Sale Year],
        SUM(Sale) AS Sale
    FROM YourTable
    GROUP BY [Sale Year]
) s ON p.PeriodEarnedYear = s.[Sale Year]
于 2012-11-08T17:49:29.843 に答える
0

これが必要なようです:

select PeriodEarnedYear,
    sum(PeriodEarned) Earned,
    Sale
from yourtable
group by PeriodEarnedYear, Sale
于 2012-11-08T17:47:15.743 に答える
0
SELECT SaleYear year, 
  0 earned, 
  sum(Sale) sale
FROM yourtable
group by saleyear
UNION
Select PeriodEarnedYear,
    sum(PeriodEarned) Earned,
    Sale
from yourtable
group by PeriodEarnedYear

しかし、これにはいくつかの仮定があります。

于 2012-11-08T17:53:56.717 に答える