public function test ( )
         {
             $User = M('authlist');
             $rs = $User->join('left join wifi_shop  on wifi_authlist.shopid = wifi_shop.id')->field('
             wifi_authlist.id,
             wifi_authlist.shopid,
             wifi_authlist.routeid,
             wifi_authlist.mac,
             wifi_authlist.over_time,
             wifi_shop.id,
             wifi_shop.shopname,
             wifi_shop.pid,
             wifi_shop.trade,
             wifi_shop.province,
             wifi_shop.city,
             wifi_shop.area,
             count(wifi_authlist.mac) as times
             ')->where('wifi_shop.pid = %s',3)->group('wifi_authlist.mac')->order('over_time')->limit($Page->firstRow.','.$Page->listRows)->select();
             dump($rs);
         }

我这里查询的是 wifi_shop 跟 wifi_authlist 表,连接条件是

wifi_authlist.shopid = wifi_shop.id

一般要注意的是数据表包含前缀, 所以再join里 要加上前缀

三个表连接再加一个join就行

 $rs = $User->join('left join wifi_shop  on wifi_authlist.shopid = wifi_shop.id')->join('left join wifi_phonelist on wifi_authlist.mac = wifi_phonelist.mac')->field('
             wifi_authlist.id,
             wifi_authlist.shopid,
             wifi_authlist.routeid,
             wifi_authlist.mac,
             wifi_authlist.over_time,
             wifi_authlist.agent,
             wifi_shop.id,
             wifi_shop.shopname,
             wifi_shop.pid,
             wifi_shop.trade,
             wifi_shop.province,
             wifi_shop.city,
             wifi_shop.area,
             wifi_phonelist.mac,
             wifi_phonelist.phone,
             count(wifi_authlist.mac) as times
             ')->where('wifi_shop.pid = %s',$pid)->group('wifi_authlist.mac')->order('over_time')->limit($Page->firstRow.','.$Page->listRows)->select();

Thinkphp join 连接查询的更多相关文章

  1. 【SQL】各取所需 | SQL JOIN连接查询各种用法总结

    前面 在实际应用中,大多的查询都是需要多表连接查询的,但很多初学SQL的小伙伴总对各种JOIN有些迷糊.回想一下,初期很长一段时间,我常用的似乎也就是等值连接 WHERE 后面加等号,对各种JOIN也 ...

  2. SQL Join(连接查询)

    1.连接查询分为: inner join(自然连接,自连接) Left join(左连接)/Left outer join(左外连接):效果一样 Right join(右连接)/Right outer ...

  3. 关于left join连接查询 两张表里有同名字段的问题

    左连接查询在开发中很常用,但有个问题常常会遇到,两个表中有同名字段时,比如左右表都有一个id字段,会造成查询结果中左表的id值被右表的id值覆盖掉(大部分php框架都是这个效果),而且还不会报错,容易 ...

  4. SQL中的join连接查询

      inner join(交集 ,自然连接, 简写成join)   是最普通的连接查询,相当于早期根据where条件连接的查询     outer join(并集或部分并集,左表 + 右表)   le ...

  5. EF Join连接查询的坑

    最近做项目的时候遇到一个需要级联查询的数据,表中又没有定义相关的外键约束,所以限定了咱们只能使用Join方式的关联而不是Include的方式关联,关于Include和Join的详细用法,本屌就不再此处 ...

  6. SQL中join连接查询时条件放在on后与where后的区别

    数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户. 在使用left jion时,on和where条件的区别如下: 1. on条件是在生成临时表时使用的条 ...

  7. mysql各种join连接查询

    最近项目用到了几次sql join查询 来满足银行变态的需求:正好晚上自学时,看到了相关视频,所以记录下相关知识,下次再用时,根据如下图片,便可知道 怎么写sql; 注意点: 在join操作中的 on ...

  8. 八、Join 连接查询

    文档目录 开发中...

  9. MySQL8:连接查询

    连接查询 连接是关系型数据库模型的主要特点. 连接查询是关系型数据库中最主要的查询,主要包括内连接.外连接等通过联结运算符可以实现多个表查询. 在关系型数据库管理系统中,表建立时各种数据之间的关系不必 ...

随机推荐

  1. MCS-51单片机的指令时序

    时序是用定时单位来描述的,MCS-51的时序单位有四个,它们分别是节拍.状态.机器周期和指令周期,接下来我们分别加以说明. 节拍与状态:    我们把振荡脉冲的周期定义为节拍(为方便描述,用P表示), ...

  2. python word操作深入

    python 把word转html:上传页面<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &q ...

  3. BZOJ3389: [Usaco2004 Dec]Cleaning Shifts安排值班

    3389: [Usaco2004 Dec]Cleaning Shifts安排值班 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 45  Solved:  ...

  4. cf581D Three Logos

    Three companies decided to order a billboard with pictures of their logos. A billboard is a big squa ...

  5. PC格局已改变 联想未来的短板在哪里?

    PC格局已改变 联想未来的短板在哪里? 作者:孙永杰2013-11-13 11:34评论:15   [PConline 品科技](原文标题:PC格局已改:联想未来的短板在哪里?)近日,联想集团公布了截 ...

  6. [LeetCode] 116. Populating Next Right Pointers in Each Node 解决思路

    Given a binary tree struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *nex ...

  7. 多线程面试题(Google)

    有四个线程1.2.3.4.线程1的功能就是输出1,线程2的功能就是输出2,以此类推.........现在有四个文件ABCD.初始都为空.现要让四个文件呈如下格式: A:1 2 3 4 1 2.... ...

  8. EF并发性能文章

    http://www.cnblogs.com/farb/p/ConcurrencyAndTransctionManagement.html

  9. Heritrix源码分析(十四)

    近段时间在搞定Lucene的一些问题,所以Heritrix源码分析暂时告一段落.今天下午在群里有同学提到了Heritrix异常终止的问题以及让Heritrix不停的抓取(就是抓完一遍后载入种子继续抓取 ...

  10. C++中的四种转型操作符

    在具体介绍C++中的四种转型操作符之前,我们先来说说旧式转型的缺点: ①它差点儿同意将不论什么类型转换为不论什么其它类型,这是十分拙劣的.假设每次转型都可以更精确地指明意图,则更好. ②旧式转型难以辨 ...