すべてのエージェントとそのモジュールを取得するクエリがあり、結果セットはモジュールごとに 1 行を返します。
SELECT
am.agentID AS agentid,
pa.agentDisplayName agentdisplayname,
m.ModuleName ModuleName
FROM
AgentModule AS am
JOIN primaryagent AS pa
ON am.agentID = pa.AgentID
JOIN Module AS m
ON am.ModuleID = m.ModuleID
WHERE
m. Active = 1
AND pa.groupID = 75
データセットは以下のように返されます
エージェント ID | エージェント表示名 | モジュール名 94 | エージェント1 | モジュール 1 94 | エージェント1 | モジュール 2 94 | エージェント1 | モジュール 3 23 | エージェント1 | モジュール 2 23 | エージェント1 | モジュール 3
PIVOT 関数を使用して、より似たテーブルを返そうとしています
エージェント ID | エージェント表示名 | モジュール 1 | モジュール 2 | モジュール 3 |.. .. .. 94 | エージェント1 | 1 | 1 | 1 23 | エージェント2 | 0 | 1 | 1
モジュールの動的リストがあるため、クエリでそれらをハードコーディングすることはできません。私は PICOT を試しましたが、集約関数を期待しているようで、このシナリオに必要なものであるかどうかはよくわかりません。