एसक्यूएल मुद्दे ओरेकल 11 जी में शामिल हो गया

क्या कोई मुझे दिखा सकता है कि मैं क्या गलत कर रहा हूं?

प्रश्न:

4389 जाफ टेरेस एस में रहने वाले किसी भी व्यक्ति के लिए पहले और अंतिम नामों की एक अनूठी सूची बनाएं

ईआरडी:

यहां छवि विवरण दर्ज करें

मैंने क्या प्रयास किया:

SQL> SELECT MORTAL.FIRST_NAME, MORTAL.LAST_NAME
  2  FROM MORTAL
  3  LEFT JOIN MORTAL_ADDRESS ON MORTAL.MORTAL_ID = MORTAL_ADDRESS.MORTAL_ID
  4  LEFT JOIN ADDRESS ON MORTAL_ADDRESS.ADDRESS_ID = ADDRESS.ADDRESS_ID
  5  WHERE ADDRESS.ADDRESS_LINE1 LIKE '4389%';

no rows selected

मुझे वास्तव में 'पसंद' ऑपरेटर पसंद नहीं है, मैं इसके बजाए '=' का उपयोग करूंगा।

    SQL> SELECT MORTAL.FIRST_NAME, MORTAL.LAST_NAME
  2  FROM MORTAL
  3  LEFT JOIN MORTAL_ADDRESS ON MORTAL.MORTAL_ID = MORTAL_ADDRESS.MORTAL_ID
  4  LEFT JOIN ADDRESS ON MORTAL_ADDRESS.ADDRESS_ID = ADDRESS.ADDRESS_ID
  5  WHERE ADDRESS.ADDRESS_LINE1 = '4389%';

no rows selected

SQL> SELECT MORTAL.FIRST_NAME, MORTAL.LAST_NAME
  2  FROM MORTAL
  3  LEFT OUTER JOIN MORTAL_ADDRESS ON MORTAL.MORTAL_ID = MORTAL_ADDRESS.MORTAL_ID
  4  LEFT OUTER JOIN ADDRESS ON MORTAL_ADDRESS.ADDRESS_ID = ADDRESS.ADDRESS_ID
  5  WHERE ADDRESS.ADDRESS_LINE1 = '4389%';

no rows selected

मुझे पता है कि यह कहीं भी शामिल है, लेकिन यह सीधे आगे बाएं शामिल होने जैसा लगता है, जैसा कि मैंने देखा है, w3schools.com पर:

यहां छवि विवरण दर्ज करें

मैं डेटा का परीक्षण करने के लिए कुछ प्रश्न चलाता हूं:

SQL> select address_line1 from address
  2  where upper(substr(address_line1, 5,1)) = 'J';

no rows selected

SQL> select address_line1 from address
  2  where address_line1 like '4389%';

ADDRESS_LINE1
-------------------------------------------------------
4389 JAFFA Terrace S.
4389 Jaffa Terrace S.

क्या ऐसा करने का कोई तरीका है, मैंने देखा है कि 'पसंद' के बिना?

(कृपया एक उत्तर के रूप में उत्तर दें, एक टिप्पणी नहीं, इसलिए मैं आपको ऊपर टिक सकता हूं। धन्यवाद!)

0
जोड़ा संपादित
विचारों: 1

1 उत्तर

SELECT MORTAL.FIRST_NAME, MORTAL.LAST_NAME
FROM MORTAL
JOIN MORTAL_ADDRESS ON MORTAL.MORTAL_ID = MORTAL_ADDRESS.MORTAL_ID
JOIN ADDRESS ON MORTAL_ADDRESS.ADDRESS_ID = ADDRESS.ADDRESS_ID
WHERE ADDRESS.ADDRESS_LINE1 LIKE '%4389%';

इसे इस तरह से आज़माएं, अगर यह काम करता है तो आपको उस कॉलम पर एक टीआरआईएम की आवश्यकता है।

शायद पता चारों ओर फैल गया है

WHERE zip_code=4389 AND ADDRESS_LINE1='Jaffa...'
0
जोड़ा
मुझे अभी भी 'कोई पंक्ति चयनित नहीं है'।
जोड़ा लेखक Brian Wilson, स्रोत
हां, डेटा उस कॉलम में है: 4389 जेएफएफए टेरेस एस 4389 जाफ टेरेस एस @ मिहाई
जोड़ा लेखक Brian Wilson, स्रोत
ठीक है, इसे समझ लिया, 'कोई पंक्ति चयनित नहीं' सही जवाब है। बाहर निकलता है मेरे प्रमाणित प्रशिक्षक ने एक को छिपाने की कोशिश की। पता तालिका में उस पते के लिए पता आईडी, mortal_address तालिका में मौजूद नहीं है। तो मूल रूप से यह एक मृत रिकॉर्ड है।
जोड़ा लेखक Brian Wilson, स्रोत
@ ब्रायन विल्सन क्या आप वाकई उस कॉलम में डेटा रखते हैं?
जोड़ा लेखक Mihai, स्रोत
@ ब्रायन विल्सन इसे आंतरिक जुड़ने के साथ आज़माएं।
जोड़ा लेखक Mihai, स्रोत