मैं एक प्रश्न है कि कुछ इस तरह दिखता है:DISTINCT कीवर्ड का उपयोग करते हुए इस त्रुटि का कारण बनता है: नहीं एक चयनित अभिव्यक्ति
SELECT DISTINCT share.rooms
FROM Shares share
left join share.rooms.buildingAdditions.buildings.buildingInfoses as bi
... //where clause omitted
ORDER BY share.rooms.floors.floorOrder, share.rooms.roomNumber,
share.rooms.firstEffectiveAt, share.shareNumber, share.sharePercent
निम्नलिखित में से कौन अपवाद में परिणाम:
Caused by: org.hibernate.exception.SQLGrammarException: ORA-01791: not a SELECTed expression
अगर मैं हटाने DISTINCT कीवर्ड, क्वेरी बिना किसी समस्या के चलती है। अगर मैं खंड द्वारा ऑर्डर हटा देता हूं, तो क्वेरी बिना किसी समस्या के चलती है। दुर्भाग्यवश, मुझे डुप्लीकेट के बिना ऑर्डर किए गए परिणाम सेट को प्रतीत नहीं होता है।
धन्यवाद @ प्रतिक्रिया के लिए लामाक। यह मुझे स्पष्ट नहीं है कि DISTINCT डीबी को अन्य कॉलमों को अनदेखा क्यों करता है, क्योंकि यह DISTINCT के बिना उन्हें अनदेखा नहीं करता है। हालांकि, यह महत्वपूर्ण है कि, मैं आदेशित, डुप्लिकेट मुक्त परिणाम सेट कैसे प्राप्त करूं? – Ken
तो आप उन्हें कैसे आदेश देना चाहते हैं? यदि आप कॉलम 'share.rooms' के लिए डुप्लिकेट मुक्त परिणाम चाहते हैं, तो आपको यह समझने की आवश्यकता है कि उसी कमरे से ** ** **' floorOrder' या 'roomNumber' या किसी अन्य कॉलम के लिए अलग-अलग मान हो सकते हैं, आप कैसे चाहते हैं उन्हें आदेश दिया जा सकता है ?, उन के न्यूनतम मूल्य से, अधिकतम? – Lamak
अब मैं देखता हूं। एक बार फिर धन्यवाद। – Ken