sql语句使用其中的子句,带有多个值

问题描述 投票:0回答:4
我有一个具有多个行的表,并具有以下字段:

PersonName SongName Status
我想使用从多个选择列表框中选择的名称,我可以检索值,然后执行一个子句,以便显示选定人都可以播放的歌曲名称,因此状态已完成。 

例如:

PersonName SongName Status Holly Highland Complete Holly Mech Complete Ryan Highland Complete
如果我从列表框中选择Holly和Ryan,然后按按钮,查询应该显示高地,因为他们俩都知道。
    

trone this:
sql
4个回答
117
投票
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'

SELECT PersonName, songName, status
FROM table
WHERE name IN ('Holly', 'Ryan')

22
投票
如果您使用的是参数化存储过程:

在逗号分开的字符串中穿过

使用特殊功能将逗号分开的字符串分为表值变量
  1. 使用table变量,该表变量包含名称中传递的
  2. INNER JOIN ON t.PersonName = newTable.PersonName
        
/* Q12。找到具有vendor_nos 305、380、391

2
投票
选择vendor_name,vendor_nos
从item_table

0
投票
(305,380,391)where vendor_nos

/*输出

vendor_namevendor_nos

MHWLTD305

厂商蒸馏(预先进口)391

MHWLTD305

Phillips饮料公司380

*/

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.