कई मूल्यों के साथ क्लॉज का उपयोग करते हुए एसक्यूएल स्टेटमेंट

Translate

मेरे पास एक तालिका है जिसमें निम्नलिखित क्षेत्रों के साथ कई पंक्तियाँ हैं:

PersonName SongName Status

मैं कई चयन सूची से चुने गए नामों का उपयोग करना चाहता हूं, जिन्हें मैं मानों को पुनः प्राप्त कर सकता हूं, और फिर एक क्लॉज कर सकता हूं ताकि यह गीत के नामों को दिखाता है कि चयनित लोग सभी खेल सकते हैं, इसलिए स्थिति पूर्ण है।

उदाहरण के लिए:

 PersonName      SongName    Status 
 Holly           Highland    Complete
 Holly           Mech        Complete 
 Ryan            Highland    Complete

यदि मैं सूची बॉक्स से होली और रयान का चयन करता हूं और बटन दबाता हूं तो क्वेरी को केवल हाइलैंड दिखाना चाहिए, जैसा कि वे दोनों जानते हैं।

This question and all comments follow the "Attribution Required."

सभी उत्तर

Translate

इसे इस्तेमाल करे:

select songName from t
where personName in ('Ryan', 'Holly')
group by songName
having count(distinct personName) = 2

होने में संख्या लोगों की राशि से मेल खाना चाहिए। अगर आपको भी स्टेटस होना चाहिएCompleteइसे इस्तेमाल करोwhereपिछले एक के बजाय खंड:

where personName in ('Ryan', 'Holly') and status = 'Complete'
स्रोत
sll
Translate
SELECT PersonName, songName, status
FROM table
WHERE name IN ('Holly', 'Ryan')

यदि आप पैरामीरीकृत स्टोरेज प्रक्रिया का उपयोग कर रहे हैं:

  1. अल्पविराम से अलग स्ट्रिंग में पास
  2. अल्पविराम से अलग स्ट्रिंग को तालिका मान चर में विभाजित करने के लिए विशेष फ़ंक्शन का उपयोग करें
  3. उपयोगINNER JOIN ON t.PersonName = newTable.PersonNameतालिका चर का उपयोग करना, जिसमें नाम शामिल हैं
स्रोत
Translate
Select t1.SongName
From tablename t1
left join tablename t2
 on t1.SongName = t2.SongName
    and t1.PersonName <> t2.PersonName
    and t1.Status = 'Complete' -- my assumption that this is necessary
    and t2.Status = 'Complete' -- my assumption that this is necessary
    and t1.PersonName IN ('Holly', 'Ryan')
    and t2.PersonName IN ('Holly', 'Ryan')
स्रोत
Leave a Reply
You must be logged in to post a answer.
लेखक के बारे में