मैं दो तालिकाओं है:विदेशी कुंजी या प्राथमिक कुंजी द्वारा समूह?
user
=======
id
name
class
marks
=======
id
user_id
sub_id
mark
उपयोगकर्ता तालिका उपयोगकर्ता (छात्र) का विवरण होता है अंक तालिका विषय आईडी के साथ विभिन्न विषयों में एक छात्र
मैं नाम लाने के लिए चाहते हैं के निशान होते हैं, वर्ग और इन तालिकाओं से कुल अंक।
1. SELECT name, class, SUM(mark) AS total FROM user
LEFT JOIN marks ON marks.user_id = user.id
GROUP BY marks.user_id
///Here in GROUP BY I have used foreign key (marks.user_id)
2. SELECT name, class, SUM(mark) AS total FROM user
LEFT JOIN marks ON marks.user_id = user.id
GROUP BY user.id
///Here in GROUP BY I have used primary key (user.id)
दोनों देता है मुझे डेटा की आवश्यकता:
मैं दो प्रश्न हैं। मेरा सवाल है कि मुझे किस का उपयोग करना चाहिए?
क्या कोई नियम है जो कहता है कि आपको समूह में प्राथमिक कुंजी या समूह में विदेशी कुंजी का उपयोग करना चाहिए या ऐसा कुछ?
क्वेरी को चलाने का प्रयास करें जो 'user.id' के पास' marks.user_id' के लिए कोई मिलान मान नहीं है। और देखें कि क्या होता है .. –
दोनों प्रश्नों के बारे में 'स्पष्टीकरण' क्या कहता है? –
@ 491243: मुझे यह जांचने दो। –