发布网友 发布时间:2023-10-09 16:05
共3个回答
热心网友 时间:2023-11-12 17:06
SELECT ROWNUM AS RN FROM DUAL CONNECT BY ROWNUM <= 12以上是oracle的写法。sql server可以用row_number() over(order by XXX)也可实现。
可以用上述虚拟列出的表格数据,与你的语句进行左连接,NVL空值设置为0即可。
你的WHERE语句没有问题。如果要用GROUP BY优化的话,可能需要用到复杂的数据库分析函数,这些分析函数用起来也比较费劲啊。。。
热心网友 时间:2023-11-12 17:07
最简单的做法:外关系一个全年月份维度表热心网友 时间:2023-11-12 17:07
create table #tt(Mon varchar(2),plan int,temp int)追答你在数据库中建一个表XNumber 只有一列Month int
这有表有12行数据 1~12
select x.Month,isnull(t.Plan,0),isnull(t.Temp,0) from XNumber x left join T t on x.Month=t.Mon
--这个也可以