SQL

2012-01-16 6 views
7

में दो अलग-अलग तालिकाओं से मूल्यों का चयन कैसे करें मेरे पास मेरे SQL सर्वर डेटाबेस में दो तालिकाएं हैं। पहला Test1 है और दूसरा Test2 है। दोनों टेबलों में RegNo कॉलम है।SQL

अब मैं एक विशेष RegNo के लिए दोनों टेबलों के मानों का चयन करना चाहता हूं।

यह मैं

SELECT Test1.SurName, Test2.Class, Test2.Medium 
FROM Test1,Test2 JOINS 
Test2 ON Test1.RegNo = Test2.RegNo 

क्या कर रहा लेकिन मेरी क्वेरी त्रुटि दे रहा है है।

उत्तर

6
SELECT Test1.SurName, Test2.Class, Test2.Medium 
FROM Test1 
INNER JOIN Test2 ON Test1.RegNo = Test2.RegNo 
+0

क्योंकि रेग्नो दोनों टेबलों में है, आप 'यूएसइंग' 'चयन टेस्ट 1 का उपयोग भी कर सकते हैं। सोरनाम, टेस्ट 2.क्लास, टेस्ट 2.मेडियम टेस्ट 1 इनरर जॉइन टेस्ट 2 उपयोग (रेग्नो) ' –

+1

@ बॉन्डे हाँ, आप कर सकते हैं - लेकिन आपको नहीं करना चाहिए: आप एक ही निष्पादन योजना के साथ समाप्त होते हैं, लेकिन एक एसक्यूएल स्निपलेट के साथ, यह अच्छी तरह से पोर्ट नहीं करता है। अंगूठे का मेरा नियम: यदि कोई प्लेटफ़ॉर्म-विशिष्ट सुविधा प्रदर्शन या कार्यक्षमता लाती है: इसका उपयोग करें। यदि यह सिर्फ एक पोर्टेबल निर्माण को दोहराता है: ** ** ** इसका उपयोग न करें। –

8
select 
    Test1.SurName, 
    Test2.Class, 
    Test2.Medium 
from Test1 
inner join Test2 
on Test1.RegNo = Test2.RegNo 

और अगर आप एक विशेष RegNo के लिए अपने डेटा का चयन करना चाहते हैं, बस अंत करने के लिए एक WHERE खंड जोड़ने के लिए, तो जैसे:

select 
    Test1.SurName, 
    Test2.Class, 
    Test2.Medium 
from Test1 
inner join Test2 
on Test1.RegNo = Test2.RegNo 
where Test1.RegNo = 123456 -- or whatever value/datatype your RegNo is 
+0

आप जहां से तेज़, ऊपर से ऊपर :) – Marco

+0

@ मार्को :) धन्यवाद! ऐसा लगता है कि यह केवल सेकंड का मामला था। ;) –

3
SELECT Test1.SurName, Test2.Class, Test2.Medium 
FROM Test1 
INNER JOIN Test2 
ON Test1.RegNo = Test2.RegNo 

a visual explanation of joins देखने के लिए कृपया इस है सीखने में बहुत मददगार।

+0

आप जहां तेज़ी से। +1 –

1

इस प्रयास करें:

SELECT Test1.SurName, Test2.Class, Test2.Medium 
FROM Test1 INNER JOIN Test2 
ON Test1.RegNo = Test2.RegNo 
WHERE Test1.RegNo = desired_id 
1

बहुत बुनियादी सवाल है, गूगल अगली बार और यह अब कोशिश:

SELECT Test1.SurName, Test2.Class, Test2.Medium 
FROM Test1 
inner join Test2 ON Test1.RegNo = Test2.RegNo 
1

यहाँ सुधार के साथ आपकी क्वेरी है।

SELECT Test1.SurName, Test2.Class, Test2.Medium 
    FROM Test1 INNER JOIN Test2 ON Test1.RegNo = Test2.RegNo where Test2.RegNo=Test1.RegNo; 

इसके अलावा, आप Regno, जो भी मेज पर यू चाहते हैं प्रदान करके क्वेरी फ़िल्टर कर सकते हैं।