मैं निम्नलिखित नमूने के लिए एक जटिल स्कीमा को कम कर दियाजटिल धुरी
छात्रों
- StudentID पूर्णांक, नाम varchar (50)
- 1, बिल
- 2, एमी
- 3, बेथ
- 4, स्कॉट टी
- 5, स्टीव
क्लासेस
- ClassID पूर्णांक, नाम varchar (50), अवधि varchar (50)
- 1, बीजगणित, Period1
- 2 , भूगोल, अवधि 3
- 3, जीवविज्ञान, अवधि 5
- 4, भौतिकी, Period4
- 5, भाषण, Period2
- 6, इतिहास, Period6
और एक जंक्शन तालिका
StudentsClasses
- StudentID पूर्णांक , क्लासआईडी int
- 1, 1
- 1, 4
- 1, 5
- 2, 6
- 3, 5
- 3, 4
- 3, 6
- 4, 1
- 4 , 4
- 5, 5
- 5, 6
मेरा लक्ष्य प्रत्येक छात्र को अवधि के क्रम में सूचीबद्ध उनके चयनित वर्गों के साथ सूचीबद्ध करना है। मैं निम्नलिखित का चयन
SELECT Name,Period1, Period2, Period3,
Period4, Period5, Period6
FROM (
SELECT _Students.Name AS [NAME],_Classes.Period AS PIVOT_CODE, _Classes.name as [Class]
FROM _Classes
INNER JOIN _StudentsClasses ON _Classes.ClassID=_StudentsClasses.ClassID
INNER JOIN _Students ON _StudentsClasses.StudentID=_Students.StudentID
)
AS data
PIVOT
( min([Class]) FOR [PIVOT_CODE] IN
(Period1, Period2, Period3,
Period4, Period5, Period6)
) AS pvt
कौन सा
Name Period1 Period2 Period3 Period4 Period5 Period6
------ --------- --------- --------- --------- --------- ----------
Amy NULL NULL NULL NULL NULL History
Beth NULL Speech NULL Physics NULL History
Bill Algebra Speech NULL Physics NULL NULL
Scott Algebra NULL NULL Physics NULL NULL
Steve NULL Speech NULL NULL NULL History
में परिणाम है मैं कहाँ की जरूरत है मदद की आवश्यकता है बाएँ स्तंभ की ओर सभी गैर nulls स्थानांतरित करने के लिए इसलिए कोई रिक्त स्थान हैं है।स्तंभ नाम उदाहरण
Name Choice1 Choice2 Choice3 Choice4 Choice5 Choice6
------ --------- --------- --------- --------- --------- ----------
Amy History
Beth Speech Physics History
Bill Algebra Speech Physics
Scott Algebra Physics
Steve Speech History
मैं धुरी एक कर्सर के साथ प्रत्येक पंक्ति/स्तंभ के ऊपर तो एक अस्थायी तालिका में का चयन बार-बार दोहराना लेकिन मैं उस से बचना चाहते हैं ऐसा कर सकते हैं के लिए नाम दिया जा सकता है। कोई भी सुझाव अति सराहनीय है।
आप क्या डीबीएमएस उपयोग कर रहे हैं? –