例如,要將下面的數據
以GROUP_ID進行分組,一組一行,一組中的多個PRODUCT_ID用逗號分隔,select 出來成如下結果:
?
在Sql Server中,我目前想到的一種方法是寫一個函數,如下:
CREATE FUNCTION [ dbo ] . [ FN_GetProductsByGroup ] ( @GroupId int ) RETURNS [ nvarchar ] ( 4000 ) AS BEGIN DECLARE @ReturnValue [ nvarchar ] (1 000 ) SET @ReturnValue = '' SELECT @ReturnValue = @ReturnValue + RTRIM ( LTRIM (PRODUCT_ID)) + ' , ' FROM T_DEMO WHERE GROUP_ID = @GroupId SET @ReturnValue = substring ( @ReturnValue , 1 , len ( @ReturnValue ) - 1 ) RETURN @ReturnValue END
然后查詢語句這樣寫:
SELECT GROUP_ID, [ dbo ] . [ FN_GetProductsByGroup ] (GROUP_ID) As PRODUCTS FROM T_DEMO GROUP BY GROUP_ID
查詢結果如下圖所示:
在Sql Server中,不知道有沒有哪位大俠能否只用純SELECT語句實現出來,不使用函數和存儲過程。
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
