从一个字段中提取所有行,然后根据名称存储在一行中
extract all the rows from one field then store in one row based on the name
我想将 Lesion 列中的所有内容存储到一行中。
有可能这样做吗?
我该怎么做?
任何建议都会有所帮助!
试试这个
DECLARE @source TABLE ( name VARCHAR(100), lesion VARCHAR(20));
INSERT INTO @source(name , lesion)
VALUES ('Bob Desk', '123-456-7899'),
('Bob Desk', '123-456-7899'),
('Don Mouse', '123-456-5555'),
('Mike Keyboard', '123-456-7899'),
('Billy Power', '122-222-1134')
SELECT DISTINCT name,STUFF(
(SELECT ',' + lesion
FROM @source s
WHERE s.name = s2.name
FOR XML PATH (''))
, 1, 1, '')
FROM @source s2
我想将 Lesion 列中的所有内容存储到一行中。 有可能这样做吗? 我该怎么做?
任何建议都会有所帮助!
试试这个
DECLARE @source TABLE ( name VARCHAR(100), lesion VARCHAR(20));
INSERT INTO @source(name , lesion)
VALUES ('Bob Desk', '123-456-7899'),
('Bob Desk', '123-456-7899'),
('Don Mouse', '123-456-5555'),
('Mike Keyboard', '123-456-7899'),
('Billy Power', '122-222-1134')
SELECT DISTINCT name,STUFF(
(SELECT ',' + lesion
FROM @source s
WHERE s.name = s2.name
FOR XML PATH (''))
, 1, 1, '')
FROM @source s2