我有一个包含多行的表,其中包含以下字段:
PersonName SongName Status
Run Code Online (Sandbox Code Playgroud)
我想使用从多选列表框中选择的名称,我可以检索值,然后执行where子句,以便显示所选人员可以播放的歌曲名称,因此状态已完成.
例如:
PersonName SongName Status
Holly Highland Complete
Holly Mech Complete
Ryan Highland Complete
Run Code Online (Sandbox Code Playgroud)
如果我从列表框中选择Holly和Ryan并按下按钮,则查询应该只显示Highland,因为这是他们都知道的.
Mos*_*cho 72
试试这个:
select songName from t
where personName in ('Ryan', 'Holly')
group by songName
having count(distinct personName) = 2
Run Code Online (Sandbox Code Playgroud)
拥有的数字应该与人数相匹配.如果您还需要Complete
使用此where
子句而不是前一个子句:
where personName in ('Ryan', 'Holly') and status = 'Complete'
Run Code Online (Sandbox Code Playgroud)
sll*_*sll 11
SELECT PersonName, songName, status
FROM table
WHERE name IN ('Holly', 'Ryan')
Run Code Online (Sandbox Code Playgroud)
如果您使用的是参数化存储过程:
INNER JOIN ON t.PersonName = newTable.PersonName
包含传入名称的表变量