日期:2014-05-16  浏览次数:20467 次

求个语句

create table test(月份 nvarchar(20),数量 int,标题 nvarchar(10))
insert into test 
select '2013-08',100,'测试' union all
select '2013-09',100,'测试' union all
select '2013-08',100,'测试1' union all
select '2014-04',100,'测试1' union all
select '2014-08',100,'测试1' union all
select '2013-08',100,'测试2'

求参数 @标题=‘测试’时 显示结果为
2013-01 null null 2014-01 null null
2013-02 null null 2014-02 null null
2013-03 null null 2014-03 null null
2013-04 null null 2014-04 null null
2013-05 null null 2014-05 null null
2013-06 null null 2014-06 null null
2013-07 null null 2014-07 null null
2013-08 100 '测试' 2014-08 null null
2013-09 100 '测试' 2014-09 null null
2013-10 null null 2014-10 null null
2013-11 null null 2014-11 null null
2013-12 null null 2014-12 null null
@标题=‘测试1’时 显示结果为
2013-01 null null 2014-01 null null
2013-02 null null 2014-02 null null
2013-03 null null 2014-03 null null
2013-04 null null 2014-04 100 '测试1'
2013-05 null null 2014-05 null null
2013-06 null null 2014-06 null null
2013-07 null null 2014-07 null null
2013-08 100 '测试1' 2014-08 100 '测试1'
2013-09 null null 2014-09 null null
2013-10 null null 2014-10 null null
2013-11 null null 2014-11 null null
2013-12 null null 2014-12 null null
@标题=‘测试5’时 显示结果为
2013-01 null null 2014-01 null null
2013-02 null null 2014-02 null null
2013-03 null null 2014-03 null null
2013-04 null null 2014-04 null null
2013-05 null null 2014-05 null null
2013-06 null null 2014-06 null null
2013-07 null null 2014-07 null null
2013-08 null null 2014-08 null null
2013-09 null null 2014-09 null null
2013-10 null null 2014-10 null null
2013-11 null null 2014-11 null null
2013-12 null null 2014-12 null null

有什么好方法么~
------解决方案--------------------
可以建一张表存下所有的月份,然后用这张表left join 你的张表