想请问下MySQL能不能把select关联表的结果存储到主表中?

WBOY
发布: 2016-06-06 20:13:10
原创
867 人浏览过

是由这个如何在MySQL中存储数组的问题 产生的问题:

问题中解决存储数组的办法是做三个表,分别是uid,uid_hobby,hobby表,要查某个uid的hobby的话只能再执行select uid from uid_hobby where uid = XXX,这样每次都要执行一边挺麻烦的。

想请问下MySQL能不能把对关联表select的结果存储到主表的column中?比如uid表中有一列hobby列,这列里面存放的内容是“select uid from uid_hobby where uid = 当前id”这句话的结果?或者有什么方式可以让这个查询过程自动化一点?在创建表的时候就把这种对应关系定好,这样在查询主表的时候就能一次性查询出来,不用再去查询一遍。

就是说在select hobby from uid where uid = XXX的时候就能直接查询到did对应的hobby而不是还要再执行对关联表的查询。这样对一张表的查询只用查询一张表就完成了。

回复内容:

是由这个如何在MySQL中存储数组的问题 产生的问题:

问题中解决存储数组的办法是做三个表,分别是uid,uid_hobby,hobby表,要查某个uid的hobby的话只能再执行select uid from uid_hobby where uid = XXX,这样每次都要执行一边挺麻烦的。

想请问下MySQL能不能把对关联表select的结果存储到主表的column中?比如uid表中有一列hobby列,这列里面存放的内容是“select uid from uid_hobby where uid = 当前id”这句话的结果?或者有什么方式可以让这个查询过程自动化一点?在创建表的时候就把这种对应关系定好,这样在查询主表的时候就能一次性查询出来,不用再去查询一遍。

就是说在select hobby from uid where uid = XXX的时候就能直接查询到did对应的hobby而不是还要再执行对关联表的查询。这样对一张表的查询只用查询一张表就完成了。

<code>select uid.* from (select uid from uid_hobby where hobby like '%游泳%') hobby_tb, uid where uid.id = hobby_tb.uid</code>
登录后复制

不知道这样理解的对吗?如果是这样的话,你在调用的时候甚至不用再主表创建一个这样的字段了

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!