SQL изявление, използващо клауза Where с множество стойности

Translate

Имам таблица, която има множество редове със следните полета:

PersonName SongName Status

Искам да използвам имена, избрани от списък с множество селекции, които мога да извлека стойностите и след това да направя клауза where, така че да показва имената на песните, които всички избрани хора могат да възпроизвеждат, следователно състоянието е завършено.

Например:

 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.
За автора