select Name,
max(日期),
sum(销售量),
sum(select 销售量 from table B where A.name = B.name and datediff(month,B.日期,0) = datediff(month,A.日期,0) - 1 ) as 上月同期
sum(销售量) - sum(select 销售量 from table B where A.name = B.name and datediff(month,B.日期,0) = datediff(month,A.日期,0) - 1 ) as 增减,
sum(select 销售量 from table B where A.name = B.name and datediff(month,B.日期,0) = datediff(month,A.日期,0) - 12 ) as 上年同期
sum(销售量) - sum(select 销售量 from table B where A.name = B.name and datediff(month,B.日期,0) = datediff(month,A.日期,0) - 12 ) as 增减,
from table A
group by Name, Datediff(month,日期,0)
//未测试。
max(日期),
sum(销售量),
sum(select 销售量 from table B where A.name = B.name and datediff(month,B.日期,0) = datediff(month,A.日期,0) - 1 ) as 上月同期
sum(销售量) - sum(select 销售量 from table B where A.name = B.name and datediff(month,B.日期,0) = datediff(month,A.日期,0) - 1 ) as 增减,
sum(select 销售量 from table B where A.name = B.name and datediff(month,B.日期,0) = datediff(month,A.日期,0) - 12 ) as 上年同期
sum(销售量) - sum(select 销售量 from table B where A.name = B.name and datediff(month,B.日期,0) = datediff(month,A.日期,0) - 12 ) as 增减,
from table A
group by Name, Datediff(month,日期,0)
//未测试。
table B 是什么意思?我的表中已经包括了本月、上月、上年的数据,那么
WHERE A.NAME = B.NAME 显然不成立。
原本打算用2个DBGrid的,就是两个数据集,但考虑到增减分析及打印的问题
没用。
max(日期),
sum(销售量),
sum(select 销售量 from table B where A.name = B.name and datediff(month,B.日期,0) = datediff(month,A.日期,0) - 1 ) as 上月同期
from table A
group by Name, Datediff(month,A.日期,0)在SQL SERVER下应该是没有问题的。
where ...有没有加?