SQL ServerのFOR XML PATH('')
を使用して特定の列で列の値をグループ化しようとしています。SQL Serverを使用してXML PATHを1つずつ出力する
例えば、ModuleID
の値1を渡すと、存在する出力RoleName : Admin Administrator Super Admin
は同じ行になります。
ALTER PROCEDURE [dbo].[MEDEIL_SiteRoleModules_SelectOne]
@ModuleID int
AS
SELECT
t1.ModuleID,
RoleName = (SELECT s1.RoleName AS [data()]
FROM SiteRoleModules t2
INNER JOIN SiteRoles s1 ON t2.RoleID = s1.RoleID
WHERE t2.ModuleID = t1.ModuleID
GROUP BY s1.RoleName
FOR XML PATH(''))
FROM
SiteRoleModules t1
WHERE
ModuleId = @ModuleID
GROUP BY
ModuleID
は私が
.node
方法..あなたが
xquery
試みることができる1
コードでは1つのグループのみが返されるため、ModuleId = 1とGroupを使用することは意味がありません。場所を削除します。 – jdweng
今すぐ確認してください更新コード@jdweng –
動作していますか?データベースに管理者、管理者、およびスーパー管理者のデータがありますか? – jdweng