如下图,有一个表A:
A01(序号) A02(内容)
--------------------
1 a
2 b
3 c
....
现要将表A的A02的内容全部取出来用短线连接组成如下格式放到另一个表B的B01字段
B01
-------
a-b-c-...
SQL
------解决方案--------------------
insert B(B01) select distinct stuff((select '-'+A02 from A order by A01 for xml path('')),1,1,'')------解决方案--------------------
IF OBJECT_ID('Ta') IS NOT NULL
DROP TABLE Ta
GO
CREATE TABLE Ta
(A01 INT,
A02 VARCHAR(10)
)
INSERT Ta
SELECT 1,'a' UNION
SELECT 2,'b' UNION
SELECT 3,'c'
GO
IF OBJECT_ID('dbo.f_a') IS NOT NULL
DROP FUNCTION dbo.f_a
GO
CREATE FUNCTION f_a()
RETURNS VARCHAR(8000)
AS
BEGIN
DECLARE @A02 VARCHAR(8000)
SELECT @A02=ISNULL(@A02+'-','')+ A02
From Ta a
RETURN @A02
END
SELECT B01=dbo.f_a()
/*
B01
-------------
a-b-c
(1 行受影响)
*/
------解决方案--------------------