WHERE IN( 从字段直接取值 ) 不能输出正确结果?

datarrow 2015-07-02 10:43:05
表 user
id name info
1 jack AAAAA
2 rose BBBBB
3 alice CCCCC

表 app
id users
1 jack, rose
2 "jack"," rose"
3 'jack',' rose'

app.users 多个用户名称合并存储。
SELECT user.id, user.info FROM user, app WHERE user.name IN(app.users)
想要的结果:
1 AAAAA
2 BBBBB


关键是:
如果直接由程序输入值 IN("jack"," rose"),可以正常查询,但 IN(app.users) 从字段直接取值则不能输出正确结果。
app.users 存储时添加引号 "jack"," rose" 或 'jack',' rose' 也不能。

怎样直接从 app.users 字段取值查询?
...全文
167 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fcqm8888 2015-08-17
  • 打赏
  • 举报
回复
是不是取 内容少了造成的?
ACMAIN_CHM 2015-07-02
  • 打赏
  • 举报
回复
id users 1 jack, rose 2 "jack"," rose" 3 'jack',' rose' 数据不统一,怎么有的有引号,有的没有。建议诜 规范数据。 如果无法规范,则只有使用 instr 来实现。 a
Jark_ 2015-07-02
  • 打赏
  • 举报
回复
find_in_set函数,不会自行百度
WWWWA 2015-07-02
  • 打赏
  • 举报
回复
find_in_set(user.name,app.users)>0

57,063

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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