1. ホーム
  2. sql

[解決済み] 複数の値を持つWhere句を使用したSQLステートメント

2022-03-01 08:54:21

質問

以下のフィールドを持つ複数の行を持つテーブルがあります。

PersonName SongName Status

複数選択可能なリストボックスから選択された名前を使用したいのですが、値を取得し、Where句を使用して、選択された人々がすべて再生できる曲名を表示することができ、したがって、状態は完全です。

例えば

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

リストボックスからHollyとRyanを選択してボタンを押すと、2人が知っているHighlandがクエリに表示されるはずです。

どのように解決するのですか?

これを試してみてください。

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

持つの数字は人数と一致する必要があります。もし、Statusも必要なら Complete を使用します。 where 句の代わりに

where personName in ('Ryan', 'Holly') and status = 'Complete'