读书人

一个行列合并有关问题

发布时间: 2012-01-28 22:06:13 作者: rapoo

一个行列合并问题
id titleName todoID itemID value1 value2 value3
7496姓名 35702153853Jack NULLNULL
7500工作满意度3570215265满意 NULLNULL
7500工作满意度3570215266非常满意 NULLNULL
7500工作满意度3570215267不满意 NULL NULL
7503培训 35702NULLNULL 它必另填NULL
7503培训 3570215272有 NULLNULL
7503培训 3570215276其它 NULL NULL
7504表现 3570215279不好 NULL 1
7504表现 3570215278非常好 NULL 2
7504表现 3570215277好 NULL 3

7496 姓名 35703 153853 peter NULL NULL
7500工作满意度 3570315265非常满意 NULL NULL
7500工作满意度 3570315266满意 NULL NULL
7500工作满意度 3570315267不满意 NULL NULL
7503培训 35703NULLNULL 它必另填NULL
7503培训 3570315272有 NULL NULL
7503培训 3570315276其它 NULL NULL
7504表现 3570315279不好 NULL 1
7504表现 3570315278非常好 NULL 2
7504表现 3570315277好 NULL 3


合并后:

id titleName todoID value1
7496 姓名 35702 Jack
7500 工作满意度 35702 (1).满意 (2).非常满意 (3).不满意
7503 培训 35702 (1).有 (2).其它 它必另填
7504 表现 35702 (1).不好 (2).非常好 (3).好

7496 姓名 35703 Jack
7500 工作满意度 35703 (1).满意 (2).非常满意 (3).不满意
7503 培训 35703 (1).有 (2).其它 它必另填
7504 表现 35703 (1).不好 (2).非常好 (3).好

因为上面表是我用临时表组成的再来合并的,我知道用函数可以实现,但是函数中好像不能使用临时表。具体需求就是把ID和todoID想同的行的列[value1]、[value2]和[fValue]三列,我打算这样实现,id,和todoID相同的行合并,同时当value3不为NULL时就以[value3]列排序,像[表现] 行一样,如果为null,就以itemID排序,你[工作满意度]列那样。但[培训]中有一行的itemID为[null]时就把value2的值放到以[itemID]列排序的最后,如(3).其它 它必另填!不知道怎么实现

[解决办法]
可以用proc啊
[解决办法]
写个函数就OK了

读书人网 >SQL Server

热点推荐