आपको इसे 'पिवट' ऑपरेटर के साथ करने में सक्षम होना चाहिए। कुछ इस तरह (हालांकि मुझे यकीन है कि मैंने कुछ वर्तनी या वाक्य रचना विवरण छुपाया है...):
select catTitle, [1] as site1, [2] as site2, [3] as site3, [4] as site4, [5] as site5
from (select category.catTitle, equipment.quantity, site.title
from equipment
inner join site
on (equipment.siteid = site.siteid)
inner join category
on (category.catid = equipment.catid)
)
pivot
(
sum (quantity)
for equipment.siteid in ( [1], [2], [3], [4], [5] )
) as pvt
order by pvt.category;
इसके साथ समस्या यह है कि आपको साइट आईडी के सटीक सेट को जानना होगा जिसे आप क्वेरी में शामिल करना चाहते हैं। यदि आपको अधिक गतिशील क्रॉसस्टैब की आवश्यकता है (जैसे आप एक्सेल में प्राप्त कर सकते हैं), तो आपको क्वेरी टेक्स्ट को स्ट्रिंग के रूप में जेनरेट करना होगा और इसे चलाने के लिए sp_executesql का उपयोग करना होगा। जेनरेट किए गए टेक्स्ट में, आप "[1], [2], [3], [4], [5]..." और "[1] साइट1 के रूप में, [2] साइट2 के रूप में कई शामिल करते हैं। ।" आपकी ज़रूरत की चीज़ें।