2 日間私を混乱させてきた質問があります。これが問題です。次のようなテーブルがあります。
私がやりたいことは、同じテーブルになるグループ化を行うことです。上記の例では、次のようになります。
このようなことが実現できるでしょうか?お気づきのとおり、さまざまな列でグループ化しています。これは 1 つのクエリで行う必要はありませんが、1 つのテーブル/データセットで終了する必要があります。
2 日間私を混乱させてきた質問があります。これが問題です。次のようなテーブルがあります。
私がやりたいことは、同じテーブルになるグループ化を行うことです。上記の例では、次のようになります。
このようなことが実現できるでしょうか?お気づきのとおり、さまざまな列でグループ化しています。これは 1 つのクエリで行う必要はありませんが、1 つのテーブル/データセットで終了する必要があります。
各セットを個別に合計し、 を使用して結合し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]
これが必要なようです:
select PeriodEarnedYear,
sum(PeriodEarned) Earned,
Sale
from yourtable
group by PeriodEarnedYear, Sale
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
しかし、これにはいくつかの仮定があります。