SQL Server与Access语句不同的地方

zhousq00 2010-05-13 05:14:43
现有ACCESS数据库,表TB(ID,NAME,AGE)
ID NAME AGE
1 张三,李四 25,26
2 王五,赵六 27,28

现有语句

Select * from TB where '张三' in (NAME) And 26 in (AGE)

这样为什么查不到数据?
请问问题出在哪?
...全文
67 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
老黎 2010-05-13
  • 打赏
  • 举报
回复
一个是中文逗号,一个是英文逗号,需要改改
老黎 2010-05-13
  • 打赏
  • 举报
回复

select * from tb
where ','+name+',' like '%,张三,%' and ','+age+',' like '%,6,%'
zhousq00 2010-05-13
  • 打赏
  • 举报
回复
htl258:
首先谢谢你,希望你能帮我解决这个问题,目前你的回答都不正确,嘿嘿,不好意思

一条记录三个字段:ID:1 、 name :张三,李四 、 age : 25,26

其实我就是要查一个包含的数据记录
即:记录中 name 字段包含‘张三’,并且 age 字段包含26的(这里请注意,可能存在[6,26,36]的情况)
htl258_Tony 2010-05-13
  • 打赏
  • 举报
回复
--严格一点:

Select * from TB where ','+Name+',' like '%,张三,%' And AGE=26

--或者:

Select * from TB where Charindex(',张三,',','+Name+',')>0 And Age=26
htl258_Tony 2010-05-13
  • 打赏
  • 举报
回复
Select * from TB where Name like '%张三%' And AGE=26
zhousq00 2010-05-13
  • 打赏
  • 举报
回复
是这样的
字段name中的数据是[张三,李四],[王五,赵六]
即:张三,李四是一条数据,王五,赵六是一条数据
同理:25,26是一条数据,27,28是一条数据
所以才会用到IN查询
serina_dsc 2010-05-13
  • 打赏
  • 举报
回复
Select * from TB where Name = '张三' And AGE=26
htl258_Tony 2010-05-13
  • 打赏
  • 举报
回复
Select * from TB where Name = '张三' And AGE=26

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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