首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL加空行.解决办法

2012-03-21 
SQL加空行....??表IDmonthA1B1C1A2C2A3B3显示:1A1B1C2A2空2C3A3B3空[解决办法]SQL codeselect t.mm,e.IDfr

SQL加空行....??

ID month
A 1
B 1
C 1 
A 2
C 2 
A 3
B 3
 
显示:
1 A
1 B
1 C
2 A
2 空
2 C
3 A
3 B
3 空

[解决办法]

SQL code
select t.mm,e.IDfrom(  select a.ID,b.[month] as mm  from (select distinct ID from tb) a cross join (select distinct [month] from tb) b)t left join tb e on t.ID = e.ID and t.mm = e.[month]
[解决办法]
探讨
谢谢........
顶起来....我的数据表好复杂(三个表连起来)...如果把tb 换成我的那一堆可以是可以,但麻烦......有没有更好的办法

[解决办法]
SQL code
;with cte as(此处放你的那一堆)此处放1楼的那一堆,并把表名改成 cte
[解决办法]
我补句2005+,蹭分
探讨
SQL code

;with cte as(
此处放你的那一堆
)
此处放1楼的那一堆,并把表名改成 cte

[解决办法]
SQL code
--创建测试表CREATE TABLE #T(    ID varchar(2),    month int)--插入测试数据INSERT INTO #TSELECT 'A',1 UNION ALLSELECT 'B',1 UNION ALLSELECT 'C',1 UNION ALLSELECT 'A',2 UNION ALLSELECT 'C',2 UNION ALLSELECT 'A',3 UNION ALLSELECT 'B',3 SELECT A.month,ISNULL(B.ID,'') AS ID  FROM (SELECT month,ID FROM(SELECT DISTINCT ID FROM #T) A,(SELECT DISTINCT month FROM #T) B) A LEFT JOIN #T BON A.month=B.month and A.ID=B.IDORDER BY month,A.ID--删除测试表DROP TABLE #T 

热点排行