一个简单的sql错误

心泉梦帅 2012-11-15 04:48:36
表A
id name
1 张,李
2 刘
3 关
select * from 表A where name in ('张','李','刘','关')
得到结果是
2 刘
3 关




但是我想得到
1 张,李
2 刘
3 关 该怎么写

...全文
90 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
心泉梦帅 2012-11-15
  • 打赏
  • 举报
回复
好吧 我承认我把这条弄的太简单了 最后处理是再建了一张关联表 我把表里面只放 表A的id 和 姓名 1对多的关系 然后用这个表的去in
qldsrx 2012-11-15
  • 打赏
  • 举报
回复
引用 6 楼 hu1990728 的回复:
引用 2 楼 qldsrx 的回复:SQL code?1select * from 表A where name like '%张%' or name like '%李%' or name like '%刘%' or name like '%关%' 谢谢,不过这样会很慢吧。。。
不会很慢,如果一个like需要1毫秒的时间,那么4个也就是4毫秒,基本感觉不到。其实用in也是如此,如果in里面只有一个,那么也许是1毫秒,in里面是10个,那就是10毫秒。
心泉梦帅 2012-11-15
  • 打赏
  • 举报
回复
引用 7 楼 Kz_Mm 的回复:
引用 3 楼 DENQH 的回复:C# code?1select * from 表A where name in ('张,李','刘','关') 支持
我刚试过了 没用的 表A id name 1 张,李 这条信息是不可能会出来的
着魔 2012-11-15
  • 打赏
  • 举报
回复
引用 3 楼 DENQH 的回复:
C# code?1select * from 表A where name in ('张,李','刘','关')
支持
心泉梦帅 2012-11-15
  • 打赏
  • 举报
回复
引用 2 楼 qldsrx 的回复:
SQL code?1select * from 表A where name like '%张%' or name like '%李%' or name like '%刘%' or name like '%关%'
谢谢,不过这样会很慢吧。。。
心泉梦帅 2012-11-15
  • 打赏
  • 举报
回复
引用 1 楼 bdmh 的回复:
in要全匹配的,你没有 '张,李'这个选项,所以不行,当然可以使用是否包含某个字符,charindex好像是
谢谢,不过这样会很慢吧。。。
L_Y_H_1_2_3_4 2012-11-15
  • 打赏
  • 举报
回复
select * from 表A
DENQH 2012-11-15
  • 打赏
  • 举报
回复
select * from 表A where name in ('张,李','刘','关')
qldsrx 2012-11-15
  • 打赏
  • 举报
回复
select * from 表A where name like '%张%' or name like '%李%' or name like '%刘%' or name like '%关%'
bdmh 2012-11-15
  • 打赏
  • 举报
回复
in要全匹配的,你没有 '张,李'这个选项,所以不行,当然可以使用是否包含某个字符,charindex好像是

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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