मैं एक सिद्धांत डेटाबेस से ऑब्जेक्ट्स को पुनर्प्राप्त करने के लिए एक क्वेरी बनाने की कोशिश कर रहा हूं, जो एक विशिष्ट से-कई रिश्तों के सदस्यों की संख्या से क्रमबद्ध है।किसी व्यवहार के सदस्यों या सदस्यों द्वारा एक सिद्धांत DQL क्वेरी को सॉर्ट करने के लिए कैसे करें?
अधिक विशेष रूप से: मेरे पास दो संस्थाएं हैं: व्यक्ति और संघ। एक व्यक्ति एक संघ का सदस्य हो सकता है (व्यक्ति का 'संघ' संबंध है), और एक संघ में एन लोग (संघ 'लोगों के रिश्ते के रूप में) हो सकते हैं।
मैं एक डीक्यूएल क्वेरी बनाना चाहता हूं जो फेडरेशन की सूची वापस कर देगा, आदेश दिया गया है कि उस संघ के कितने लोग सदस्य हैं। इन पंक्तियों के साथ कुछ:
SELECT f FROM AcmeStatsBundle:Federation f ORDER BY [number of members of f.people]
यह पहला कदम होगा। एक अतिरिक्त दूसरा चरण है, जिसे मैं नहीं जानता कि एक प्रश्न के साथ हासिल करना संभव है, जो गिनती से पहले संबंध के सदस्यों को फ़िल्टर करेगा। इसलिए जैसा: दूसरा एक इष्टतम परिणाम होगा
SELECT f FROM AcmeStatsBundle:Federation f ORDER BY [number of (f.people p where p.attr = value)]
यही कारण है, लेकिन पहले एक मेरी जरूरतों को संतुष्ट करता है, अगर दूसरा मामला किसी एक क्वेरी में feasibly नहीं है।
अग्रिम धन्यवाद। AVG
, COUNT
, MIN
, MAX
और SUM
:
जवाब के लिए धन्यवाद! मुझे क्वेरी में मामूली संशोधन करना पड़ा, क्योंकि मुझे लगता है कि आप बिना किसी चयन के कुल मिलाकर ऑर्डर कर सकते हैं। तो अंतिम पूछताछ यह है: 'चुनें एफ, COUNT (पी) AcmeStatsBundle से qtd के रूप में चुनें: फेडरेशन एफ बाएं जॉइन f.people पी WHERE p.attr =: q_' द्वारा डी_आईडी ऑर्डर द्वारा डी –