关于查询和表结构

qq_31853981 2018-09-15 05:39:16
这里有两张表product(产品表)和tool(工具表),一个产品会有多个对应的工具属性,我在product表里存了一个字段tool_id,里面存的是多个tool_id(这样的:1,2,3),但是我发现这样关联查询
(sql:select * from product a left join tool b on b.id in (a.tool_id)。发现类似于这样查 select * from tool where id in ('1,2,3') 而不是 select * from tool where id in (1,2,3))
只显示出来第一个结果(比如 tool_id存的是1,2,3只显示tool表里的1。2,3显示的则是tool表里的2),
难道只能在建一张关联关系表了么,boos一直在要求精简表的数量,,,如果写两句sql,感觉有好不爽
...全文
351 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2018-09-16
  • 打赏
  • 举报
回复
建议还是专门再建一张PRODUCT , TOOL对应关系表。
mingqing6364 2018-09-15
  • 打赏
  • 举报
回复
select * from product a left join tool b on FIND_IN_SET(b.id, a.tool_id) > 0

这样可以,但是不是很推荐,减低效率,如果数据了不大,那无所谓了

56,675

社区成员

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

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