急求助!!sql 分隔数据

来源:百度知道 编辑:UC知道 时间:2024/07/02 07:06:25
A 表结构
事情NO 人员NO
001 A001,A002
002 A003
B 表结构
人员NO 人员姓名
A001 王一
A002 王三
A003 王思
要求查出的结果表的结构是下面这样的:
事情NO 姓名
001 王一,王三
002 王思
即怎么把数据分隔开找见NO对应的姓名,在写到一个串中返到表中??
谢谢着急,在线等!!!!!

SELECT DISTINCT
a.事情NO, REPLACE(REPLACE(a.人员NO, b.人员NO, b.人员姓名), k.人员NO, k.人员姓名)
AS 姓名
FROM a CROSS JOIN
b CROSS JOIN
b k
WHERE (a.人员NO = b.人员NO) AND (b.人员NO = k.人员NO) OR
(a.人员NO LIKE '%' + b.人员NO + '%') AND (b.人员NO <> k.人员NO) AND
(a.人员NO LIKE '%' + k.人员NO + '%')

做个function吧, 给一个人员NO的参数,
在函数里分隔,查询, 合并 然后返回。
这么说, 能明白吗?