में एक उपनाम का उपयोग करना मेरे पास एक क्वेरी है जो मुझे तालिका ए में कोई पंक्ति दिखाने के लिए है, जिसे हाल ही में अपडेट नहीं किया गया है। (प्रत्येक पंक्ति "month_no" के बाद 2 महीने के भीतर अद्यतन किया जाना चाहिए।):WHERE क्लॉज
SELECT A.identifier
, A.name
, TO_NUMBER(DECODE(A.month_no
, 1, 200803
, 2, 200804
, 3, 200805
, 4, 200806
, 5, 200807
, 6, 200808
, 7, 200809
, 8, 200810
, 9, 200811
, 10, 200812
, 11, 200701
, 12, 200702
, NULL)) as MONTH_NO
, TO_NUMBER(TO_CHAR(B.last_update_date, 'YYYYMM')) as UPD_DATE
FROM table_a A
, table_b B
WHERE A.identifier = B.identifier
AND MONTH_NO > UPD_DATE
कहां खंड में अंतिम पंक्ति एक "ORA-00904 अमान्य पहचानकर्ता" त्रुटि होती है। कहने की जरूरत नहीं है, मैं अपने WHERDE खंड में पूरे DECODE फ़ंक्शन को दोहराना नहीं चाहता हूं। कोई विचार? (दोनों फिक्स और वर्कअराउंड स्वीकार किए जाते हैं ...)
यह एक दिलचस्प दृष्टिकोण होगा, आप किसी भी कोड दे सकते हैं? – rob5408
वही नियम जहां लागू होता है, इसलिए यह कोई समाधान नहीं है। – Alexey
मैं MySQL (5.5) पर फंस गया हूं, यह नहीं पता कि यह ओरेकल पर लागू होता है या नहीं। लेकिन: 'ग्राहकों का चयन करें, नाम, उपनाम) ग्राहकों के रूप में एक्स एक्स'%% '' काम करता है, जबकि 'चयन कंकट (नाम, उपनाम) AS x ग्राहकों से जहां x%'%% ' 'विफल रहता है (" अज्ञात कॉलम 'x' जहां 'खंड' ') – fr13d