क्या आपने PIVOT पर प्रलेखन पढ़ा है माइक्रोसॉफ्ट एसक्यूएल सर्वर 2005 में?
SELECT CustId,
[1] AS Admin,
[2] AS Manager,
[3] AS Support,
[4] AS Assistant
FROM (SELECT c.CustId, r.RoleId
FROM CustomerRoles c JOIN Roles r USING (RoleId)) AS s
PIVOT (
COUNT(CustId)
FOR RoleId IN ([1], [2], [3], [4])
) AS pvt
ORDER BY CustId;
मैंने उपरोक्त का परीक्षण नहीं किया है, लेकिन इसे केवल दस्तावेज़ पर आधारित किया है। यह आपको आरंभ कर सकता है।
कॉलम गतिशील रूप से उत्पन्न करने का कोई तरीका प्रतीत नहीं होता है। आपको उन्हें हार्ड-कोड करना होगा।