次の表を考えると
月間商品売上 --------- ---------- ----- 1 月 1 日 10 1 月 2 日 15 2 月 3 日 23 15年3月1日
私が使用したクエリは次のとおりです。
SELECT DISTINCT a.* FROM( -- possibly needed for where clause
SELECT dateadd(month, x.MonthOffset,0) AS mes, x.produto, Sum(x.quantidade) AS vendas
FROM
(
SELECT DATEDIFF(month, 0, a.data) AS MonthOffset, a.produto, a.quantidade
FROM (
SELECT l.*, fc.data FROM LINHAS AS l JOIN FacturaCli AS fc
ON fc.codigo = l.codigo
UNION ALL
SELECT l.*, ff.dataEmissão FROM LINHAS AS l JOIN FacturaForn AS ff
ON ff.codigo = l.codigo
) AS a
) AS x
GROUP BY MonthOffset, produto
) AS a
毎月の売り上げが多い商品を手に入れたいです。
「集計グループ」に含まれてはならないフィールドを必要とするクエリを実行するのに問題があります。私が提供したテーブルは、クエリの結果であることに注意してください。
SQL Server 2008 を使用しています。一時変数またはover
句を使用できません。
このテーブルにたどり着いたクエリを繰り返したくありません。しかし、それが唯一の方法であれば、それは問題ありません。
期待される結果:
月間商品売上 --------- ---------- ----- 1 月 2 日 15 2 月 3 日 23 15年3月1日