2012-02-20 10 views
10

मैं एक मेज है कहते हैं:एसक्यूएल: आप केवल उन समूहों का चयन कैसे करते हैं जिनमें कोई निश्चित मूल्य नहीं है?

Restaurant locations: 

RESTAURANT_NO | RESTAURANT_LOCATION 
----------------------------------- 
1    |   City A 
1    |   City B 
2    |   City A 
2    |   City B 
2    |   City C 
3    |   City C 
4    |   City A 
4    |   City B 

मैं कैसे एक साथ और भी उन्हें समूह में सक्षम होगा केवल RESTAURANT_NO कि शहर सी में स्थान नहीं है का चयन करें?

RESTAURANT_NO 
------------- 
1 
4 

RESTAURANT_NO 2 और 3 के बाद से दोनों शहर में स्थान नहीं हैं सी

मैं कैसे समूह RESTAURANT_NO के लिए एक साथ करते हुए भी केवल करने की कोशिश कर पता नहीं है:

इस उदाहरण की सहायता मैं वापस करना चाहते इस आवश्यकता को पूरा करने वाले समूहों का चयन करें।

संपादित करें: मुझे यह काम मिल गया है।

हालांकि, एक आखिरी चीज है जिसे मैं अभी भी समझने में सक्षम नहीं हूं। निम्न तालिका लोगों की आईडी नंबर है साथ शहरों के साथ वे में काम किया:

PERSON_NO | CITY_NAME 
--------------------- 
1   | City A 
2   | City B 
3   | City A 
3   | City B 
3   | City C 
4   | City A 
4   | City B 
4   | City C 

मैं कैसे सभी लोगों जो सभी तीन शहरों में रह रहे हैं, ए, बी के PERSON_NO प्राप्त करने में सक्षम हो जाएगा , और सी?

मैं वापस जाने के लिए

PERSON_NO 
--------- 
3 
4 

धन्यवाद, फिर से चाहते हैं। मुझे एसक्यूएल के साथ इतना अनुभव नहीं मिला है और इसलिए मुझे यकीन नहीं है कि क्या करना है।

+0

क्या डेटाबेस के लिए? –

+0

आप किस डेटाबेस का उपयोग कर रहे हैं? – Luke101

उत्तर

14

एक ही रास्ता:

SELECT RESTAURANT_NO FROM restaurant WHERE RESTAURANT_NO NOT IN 
(SELECT RESTAURANT_NO FROM restaurant WHERE RESTAURANT_LOCATION = 'City C') 
+0

मैंने इस क्वेरी के साथ अपने डीबी का परीक्षण किया है और ऐसा लगता है कि यह काम करता है। धन्यवाद। – vesselll

4
SELECT DISTINCT 
     Restaurant_no 
FROM 
     TableX t 
WHERE 
     NOT EXISTS 
     (SELECT * 
     FROM TableX c 
     WHERE c.Restaurant_no = t.Restaurant_no 
      AND c.Restaurant_location = 'City C' 
    ) 
3

उपयोग DISTINCT

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

SELECT DISTINCT t.Restaurant_No 
FROM Restaurant t 
WHERE t.Restaurant_No NOT IN 
     (SELECT s.Restaurant_No 
     FROM Restaurant s 
     WHERE s.RESTAURANT_LOCATION = 'City C') 
ORDER BY t.Restaurant_No 
+0

मैंने अपना जवाब अपडेट किया। मुझे 'रेस्टोरेंट 2' नहीं मिला। धन्यवाद! –

संबंधित मुद्दे

 संबंधित मुद्दे