中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQL中怎么合并多行記錄

發布時間:2021-08-04 16:34:22 來源:億速云 閱讀:153 作者:Leah 欄目:數據庫

今天就跟大家聊聊有關SQL中怎么合并多行記錄,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

1. 創建表,添加測試數據 

CREATE TABLE tb(id int, [value] varchar(10)) INSERT tb SELECT 1, 'aa' UNION ALL SELECT 1, 'bb' UNION ALL SELECT 2, 'aaa' UNION ALL SELECT 2, 'bbb' UNION ALL SELECT 2, 'ccc' --SELECT * FROM tb /**//* id value ----------- ---------- 1 aa 1 bb 2 aaa 2 bbb 2 ccc (5 row(s) affected) */ --

2 在SQL2000只能用自定義函數實現 ----

2.1 創建合并函數fn_strSum,根據id合并value值 GO CREATE FUNCTION dbo.fn_strSum(@id int) RETURNS varchar(8000) AS BEGIN DECLARE @values varchar(8000) SET @values = '' SELECT @values = @values + ',' + value FROM tb WHERE id=@id RETURN STUFF(@values, 1, 1, '') END GO -- 調用函數 SELECT id, VALUE = dbo.fn_strSum(id) FROM tb GROUP BY id DROP FUNCTION dbo.fn_strSum ----

2.2 創建合并函數fn_strSum2,根據id合并value值 GO CREATE FUNCTION dbo.fn_strSum2(@id int) RETURNS varchar(8000) AS BEGIN DECLARE @values varchar(8000) SELECT @values = isnull(@values + ',', '') + value FROM tb WHERE id=@id RETURN @values END GO -- 調用函數 SELECT id, VALUE = dbo.fn_strSum2(id) FROM tb GROUP BY id DROP FUNCTION dbo.fn_strSum2 --3 在SQL2005/SQL2008中的新解法 ----

3.1 使用OUTER APPLY SELECT * FROM (SELECT DISTINCT id FROM tb) A OUTER APPLY( SELECT [values]= STUFF(REPLACE(REPLACE( ( SELECT value FROM tb N WHERE id = A.id FOR XML AUTO ), '<N value="', ','), '"/>', ''), 1, 1, '') )N ----

3.2 使用XML SELECT id, [values]=STUFF((SELECT ','+[value] FROM tb t WHERE id=tb.id FOR XML PATH('')), 1, 1, '') FROM tb GROUP BY id --4 刪除測試表tb drop table tb /**//* id values ----------- -------------------- 1 aa,bb 2 aaa,bbb,ccc (2 row(s) affected) */

看完上述內容,你們對SQL中怎么合并多行記錄有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

sql
AI

深水埗区| 化州市| 无为县| 长丰县| 石景山区| 长治县| 和平县| 郸城县| 西华县| 土默特右旗| 东港市| 军事| 商洛市| 垫江县| 平江县| 望江县| 涞源县| 新密市| 城步| 义马市| 大宁县| 新乡县| 定襄县| 丹阳市| 鲁山县| 平舆县| 眉山市| 海口市| 绥阳县| 江津市| 光山县| 资源县| 松滋市| 延津县| 巴彦县| 胶州市| 武乡县| 正宁县| 公安县| 南通市| 囊谦县|