group_concat
現在、MySQL の関数を MSSQLにシミュレートしようとしています。hereおよびhereにあるコード形式に従いました。問題は、クエリを実行しようとするとAmbiguous column name
、 columnのメッセージが表示されることRoleID
です。これが私のクエリです:
select UserName, RoleID from tb_UserInRoles
cross apply(
select RoleName from tb_Roles
where tb_UserInRoles.RoleID = tb_Roles.RoleID
for XML Path('')
) fxMerge (RoleID) group by UserName, RoleID
Ambiguous column name
この特定のコード形式でエラー メッセージが表示される理由を知りたいです。このクエリを機能させて理解する必要があります。助けてくれてありがとう。
システムのユーザーが次のように複数のロールを持つことができる多対多の関係テーブルでこれを使用する予定です。
| User | Role |
|--------|---------|
| JamesP | Maker |
| JamesP | Approver|
| JamesP | Admin |
結果クエリを次のようにしたい:
| User | Role |
|--------|--------------------------|
| JamesP | Maker, Approver, Admin |