例如,要將下面的數據
以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元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

