मुझे ओरेकल के हर खंड में समर्थन के लिए समर्थन की कमी के आसपास एक रास्ता तय करने में परेशानी हो रही है।ओरेकल एसक्यूएल - क्या प्रत्येक मानक कामकाजी मानक है?
Production (pid, mid)
Movie(mid, director)
जहां 'पीआईडी', प्रकाशक आईडी का प्रतिनिधित्व पूर्णांक में है 'मध्य' एक पूर्णांक फिल्म आईडी का प्रतिनिधित्व करता है, और निर्देशक हैं:
मैं दो तालिकाओं, उत्पादन और मूवी, निम्न स्कीमा के साथ है फिल्म के निदेशक का नाम।
मेरा लक्ष्य प्रकाशकों की सूची (आईडी द्वारा) प्राप्त करना है, जिन्होंने पीटर जैक्सन या बेन एफ़लेक द्वारा निर्देशित फिल्मों को प्रकाशित किया है।
इस लक्ष्य को हासिल करने के लिए, मैं निम्न क्वेरी लिखा था:
SELECT *
FROM Production P, Movie M
WHERE P.mid = M.mid;
GROUP BY P.pid
HAVING EVERY (M.director IN ('Ben Affleck', 'Peter Jackson'));
लेकिन चूंकि ओरेकल हर होने का समर्थन नहीं करता, सब मैं निम्न त्रुटि है:
HAVING EVERY (M.director IN ('ben affleck', 'PJ'))
*
ERROR at line 5:
ORA-00907: missing right parenthesis
क्योंकि निर्देशक को प्रकाशक द्वारा उत्पादित हर फिल्म पर आवेदन करना पड़ता है, मुझे विश्वास नहीं है कि स्थिति को WHERE खंड में स्थानांतरित किया जा सकता है।
क्या इस रोडब्लॉक के आसपास कोई रास्ता है? कुछ भी जिसे "मानक" माना जाता है? इसके अलावा (और शायद अधिक महत्वपूर्ण बात) ओरेकल ने हर जगह क्यों लागू नहीं किया है?
चाल करने के लिए लगता है कि! बहुत - बहुत धन्यवाद। जबकि हम यहां हैं, क्या आप जानते हैं कि ओरेकल ने हर जगह क्यों लागू नहीं किया है? मुझे लगता है कि वर्कअराउंड कोड बहुत हैकी/पढ़ने के लिए मुश्किल है, जो मेरे लिए एक बहुत ही नकारात्मक पहलू है। – Dan
+1 - मैंने अपना जवाब हटा दिया क्योंकि मैंने ओपी अनुरोध को गलत समझा। अच्छा उत्तर! बॉक्स के बाहर सोचने के लिए – sgeddes