十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
用别名 , 比如 a表 有 c字段, b表也有 c字段, field('a.c as xx'), field('b.c as oo'), 至于具体join()方法你自己写吧, 方法就是用别名, 或者加上表名,这样就不会产生歧义
站在用户的角度思考问题,与客户深入沟通,找到克井网站设计与克井网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:做网站、成都网站设计、企业官网、英文网站、手机端网站、网站推广、申请域名、网络空间、企业邮箱。业务覆盖克井地区。
SELECT name,nums FROM Persons WHERE name IN ('苹果','香蕉')
这样就取到了,php里不知道有什么类接收,不过肯定是有的
select * from databasea.table1 union select * from databaseb.table2 ;
不推荐垮库使用.弊端太多
也许是我孤陋寡闻了,似乎没有办法跨库关联查询吧。如果非要跨库关联,我能想到的办法就是把两边的数据查询出来并存入一个临时表,再查询临时表。不过这种方法只是用于不同库中相同或相似的表,比如有的数据量较大的分库项目。
在回过头来看你的项目需求,其实根本不需要跨库的。首先在任意一个库里创建一个表,在发送会议信息给会员的时候,除了这个表的主键之外,只需要记录会员的id和会议的id,这两个id分别从两个库里获取。
你如果要查看某条会议信息发送的详情,就通过这两个id分别从两个库里获取会员信息和会议信息。
你如果要查询出列表,用笨办法,因为你这个表肯定和会员或会议其中一个在一个库了,可以关联,然后在列表循环中逐条查询另一个数据,虽然这样有些影响性能,但是也比“跨库关联查询”好点,况且如果数据多的话,一般都是分页操作的话,一个列表最多二三十条记录,一次查询二三十也不会有太大影响。
另一个笨办法,就是把发送记录列表中所有需要列出的字段都记录在发送会议信息的记录表里,这样就不需要在循环查询另一个表了。但缺点就是这里面的数据就不能和会员以及会议信息的数据同步,除非你在更新会员以和会议信息的数据的同时更新这个表的数据。
但不管用哪种方式,我觉得都比“跨库关联查询”要好,即使真的有“跨库关联查询”的方法。
M("User u")-join("sex s,deparment d,job j")-where("u.sex=s.id,u.department=d.id,u.job=j.id")-select();
ps:下次弄个可以粘贴的,不然线下没法测试。
select ID from a union select level,integ from b where (条件一) and (条件二) and (条件三)
自己改条件。