sql - Best query for a 1:N relationship -


मेरे पास दो तालिकाओं हैं, मुझे USERNAME :

 < कोड> उपयोगकर्ता: USERID USERNAME ... अन्य फ़ील्ड ... AccessRights (User.USERID के साथ एक से बहुत से संबंध): USERID अनुदान   

मुझे उपयोगकर्ता चाहिए। * फ़ील्ड और सभी AccessRights जहां AccessRights.USERID = USER.USERID

मैं यह कुछ तरीके कर सकता हूँ: < Ul>

  • उपयोगकर्ता के लिए पहले दो अलग-अलग पूछताछ, USERID प्राप्त करें और इसे दूसरी क्वेरी में एक पैरामीटर के रूप में उपयोग करें
  • तालिकाओं में शामिल हों, लेकिन यह सभी उपयोगकर्ता के डुप्लिकेट। * कई पंक्तियों से अधिक डेटा
  • परिणामों को एक क्षेत्र में मार्शल करने के लिए कुछ फ़िशर संग्रहीत कार्यवाही करें

    लेकिन मेरे पास यह आंत है कि मैं कुछ बेहतर दृष्टिकोण की सोच नहीं रहा हूं, इसलिए मैंने सोचा मैं पूछूंगा।

    डेटाबेस के आधार पर, आप उस आउटपुट को कई परिणाम के रूप में एक स्क्रिप्ट भेज सकते हैं । यह उस भाषा पर भी निर्भर करता है जिसे आप कोडिंग कर रहे हैं। लेकिन जावा में, आप कथन से कई परिणाम प्राप्त कर सकते हैं यदि आप वक्तव्य। एक्ससीक्यूट (बनाम एक्जिक्यूटएक्शन) का उपयोग करते हैं।

    इस तरह, आप उपयोगकर्ता तालिका पहले, फिर उस उपयोगकर्ता को पॉप्युलेट करें जिसे आप स्थानीय चर में देख रहे हैं, फिर उस चर का उपयोग AccessRights तालिका के लिए करें।

    सभी संभावनाओं में, जब तक कि आप एक टन पंक्तियों के बारे में बात नहीं कर रहे हों AccessRights या उपयोगकर्ता में कॉलम का एक टन, यह एक आसान तरीका है, और अधिक कुशल, शामिल होने के लिए। सिर्फ उस उपयोगकर्ता से खेतों को पाने की कोशिश करें जो आपको चाहिए। तारों में घूमते हुए डेटा के अतिरिक्त बाइट्स की संभावना प्रत्येक मेज पर अलग-अलग क्वेरी करने के लिए डेटाबेस में एकाधिक हिट की तुलना में कम उपरि है (जब तक कि आप ऊपर दिए गए दृष्टिकोण का उपयोग नहीं करते हैं, जो एक हिट है, लेकिन संभवत: अधिकतर परिस्थितियों के लिए यह ओवरकिइल है क्योंकि यह थोड़ा जटिल है )।

  • Comments