मेरे पास संयुक्त राज्य अमेरिका, एशिया और यूरोप के शेयर बाजार के लिए तीन अलग-अलग टेबल हैं। मेरे परिदृश्य में उन सभी 3 में एकमात्र स्टॉक ऐप्पल है। नीचे दिया गया कोड काम करता है ..
Select * from USA_Stock
Where Name='Apple (AAPL)'
लेकिन मैं चाहता हूं कि यह तीनों एक ही समय में दिखाए, लेकिन जब मैं यह कोशिश करता हूं
Select * from USA_Stock, Europe_Stock, ASIA_Stock
Where Name='Apple (AAPL)';
यह मुझे निम्न त्रुटि देता है:
ORA-00918: स्तंभ अस्पष्ट रूप से परिभाषित
2 जवाब
यदि आप पहले से ही जानते हैं कि ऐप्पल तीनों तालिकाओं में मौजूद एकमात्र हिस्सा है, और आप केवल प्रत्येक तालिका से ऐप्पल रिकॉर्ड दिखाना चाहते हैं, तो शायद आपको जो चाहिए उसकी तर्ज पर एक संघ अधिक है:
SELECT name, price FROM USA_Stock WHERE name = 'Apple (AAPL)'
UNION ALL
SELECT name, price FROM Europe_Stock WHERE name = 'Apple (AAPL)'
UNION ALL
SELECT name, price FROM ASIA_Stock WHERE name = 'Apple (AAPL)';
SELECT name, price FROM USA_Stock WHERE name = 'Apple (AAPL)'
INTERSECT
SELECT name, price FROM Europe_Stock WHERE name = 'Apple (AAPL)'
INTERSECT
SELECT name, price FROM ASIA_Stock WHERE name = 'Apple (AAPL)';
केवल उन्हीं पंक्तियों को लौटाता है जिनका नाम समान है
price
तीनों तालिकाओं में समान हो।
संबंधित सवाल
नए सवाल
sql
संरचित क्वेरी भाषा (एसक्यूएल) डेटाबेस को क्वेरी करने के लिए एक भाषा है। प्रश्नों में कोड उदाहरण, तालिका संरचना, नमूना डेटा और DBMS कार्यान्वयन के लिए एक टैग (जैसे MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2, आदि) का उपयोग किया जाना चाहिए। यदि आपका प्रश्न केवल एक विशिष्ट DBMS (विशिष्ट एक्सटेंशन / सुविधाओं का उपयोग करता है) से संबंधित है, तो इसके बजाय उस DBMS के टैग का उपयोग करें। एसक्यूएल के साथ टैग किए गए सवालों के जवाब में आईएसओ / आईईसी मानक एसक्यूएल का उपयोग करना चाहिए।
FROM
खंड में कभी नहीं अल्पविराम का प्रयोग करें। हमेशा उचित, स्पष्ट, मानक, पढ़ने योग्यJOIN
सिंटैक्स का उपयोग करें