同字段多个like 查询交集

mmkkuoi 2012-11-22 11:48:18
create table a
(
name nvarchar(50),
value nvarchar(50)
)

insert into a values('a','a1'),('a','a1'),('a','a2'),('a','a3'),('b','b1'),('b','b1'),('b','a1')

我想like查询同时有1和3的name
最后查出的结果只有一行a
...全文
203 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
發糞塗牆 2012-11-23
  • 打赏
  • 举报
回复
select distinct name from a where (name like '%1%' or name like '%3%')
  • 打赏
  • 举报
回复
create table a
(
name nvarchar(50),
value nvarchar(50)
)

insert into a values('a','a1'),('a','a1'),('a','a2'),('a','a3'),('b','b1'),('b','b1'),('b','a1')

select * from a  
where 
exists(select 1 from a s where s.name=a.name and s.value like '%1%')
and exists(select 1 from a s where s.name=a.name and s.value like '%3%')


/*
name                                               value
-------------------------------------------------- --------------------------------------------------
a                                                  a1
a                                                  a1
a                                                  a2
a                                                  a3

(4 行受影响)


*/
快溜 2012-11-23
  • 打赏
  • 举报
回复
select name from tb where value like '%1%' or value like '%2%' group by name having count(distinct name)=2
發糞塗牆 2012-11-22
  • 打赏
  • 举报
回复
select * from a where (name like '%1%' or name like '%3%')

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧