tp连表查询的问题:a表的user_id关联b表的id,a表的race_id关联c表的race_id,a表的race_id和user_id关联d表的race_id和user_id。4表关联,a表和d表还是关联2个字段。

tp作为国内最优秀的php框架,提供了一种简单的join来关联表。下面是示例代码

$where = array(

'a.id'=>1,

'b.id'=>1,

);

$result = $this ->join('LEFT JOIN b ON a.user_id = b.id')

->join('LEFT JOIN c ON a.race_id = c.race_id')

->join('LEFT JOIN d a.race_id = d.race_id AND a.user_id = d.user_id')

->where($where)

->select();

当然,这只是一个小例子,where条件中的a.id代表a表中的id字段,b.id同理。 LEFT JOIN就是php中连表查询中常用的,join()可以一直加下去(只要表名对应的字段存在,即a.user_id = b.id,a表中必须有user_id,b表中必须有id,条件才能成立)

大家知道,连表有时候会有重复字段,我的解决方法是使用thinkphp中的field()。例如:

$result = $this ->join('LEFT JOIN b ON a.user_id = b.id')

->join('LEFT JOIN c ON a.race_id = c.race_id')

->join('LEFT JOIN d a.race_id = d.race_id AND a.user_id = d.user_id')

->where($where)

-> field('a.name as a_name , b.*,c.&,d.*')

->select();

a.name as a_name意思就是把a表中的name字段换成a_name去显示出来。b.*代表的是取b表中的全部数据。

php 两表关联查询,Thinkphp连多表查询,关联2个或多个字段相关推荐

  1. php多表数据排除,thinkphp中多表查询中防止数据重复的sql语句(必看)

    thinkphp中多表查询中防止数据重复的sql语句(必看) 这里有新鲜出炉的精品教程,程序狗速度看过来! ThinkPHP 开源 PHP 框架 ThinkPHP 是一个开源的 PHP 框架,是为了简 ...

  2. php多添件分页查询,ThinkPHP的多表查询+分页范例

    ThinkPHP的多表查询+分页范例 对于一个PHP程序员来说,多表查询是经常遇到的事,下面介绍一下ThinkPHP的多表查询+分页范例 $db = M( "Article" ); ...

  3. oracle两表联查分组,oracle解决多表关联分组查询问题

    做了一个功能需要分组查询,同时查询A表分组查询的ID需要关联B表的数据,本来想两个表关联查询,但是报group by 语法不正确.所以做了以下修改. select count(*), cindexid ...

  4. oracle多表关联查询报表,oracle多表关联查询和子查询

    oracle多表关联查询和子查询 一.多表关联查询 例子: sql> create table student1 ( sid varchar(3), sname varchar(6), sage ...

  5. a表两个字段都与b表一个字段关联_Oracle系列第二章----表,精彩延续。。。

    第一节 表的概念 表设计的原则 2.1 表 数据库中以表为组织单位存储数据.表用来存储一些事物的信息,首先需要有一个表名,以及存储的信息. 2.2 设计原则 好的数据库表设计会影响数据库操作效率.特别 ...

  6. mysql 连接查询两个条件_MySQL之多表查询一 介绍 二 多表连接查询 三 符合条件连接查询 四 子查询 五 综合练习...

    一 介绍 本节主题 多表连接查询 复合条件连接查询 子查询 首先说一下,我们写项目一般都会建一个数据库,那数据库里面是不是存了好多张表啊,不可能把所有的数据都放到一张表里面,肯定要分表来存数据,这样节 ...

  7. oracle两表联查分页公式,Oracle中分页查询和联表查询

    1.使用ROWNUM伪列查询 1.1.查询十条数据(rownum<=n) SELECT ROWNUM,A.* FROM v_sjjx_unit_info A WHERE ROWNUM<=1 ...

  8. sql关联查询子表的第一条_SQLAlchemy(8)惰性查询

    10204 15.relationship 中惰性查询 1.试理解relationship(自己) MySQL 是一个关系型数据库,关系型数据库最关键的就是关系.SQLAlchemy 作为一层ORM ...

  9. server多笔记录拼接字符串 sql_第四章、SQL Server数据库查询大全(单表查询、多表连接查询、嵌套查询、关联子查询、拼sql字符串的查询、交叉查询)...

    4.1.查询的类型 declare @value as int set @value = 50 select  'age:'as age,2008 years,@valueas va --这种查询时跟 ...

最新文章

  1. android画布,android-视图在画布比例上不适合画布
  2. ubuntu通过pem连接服务器
  3. 录制失败因为媒体服务失败_具惠善减肥失败,竟然是因为它
  4. 怎么做逆向geocoding?
  5. 让VC编译的Release版本程序在其他机器上顺利运行
  6. 电脑内部录音教程Virtual Audio Cable使用教程
  7. python中数据类型不同运算不同_Python的基本数据类型与运算
  8. 【SQL】CASE与DECODE
  9. 浏览器的DNS缓存查看和清除
  10. 【15年浙江省赛 C ZOJ 3871】Convex Hull【极角排序】
  11. 7月29日绝地求生服务器维护,绝地求生7月29日维护到几点 7.29吃鸡更新维护公告...
  12. 应用ITIL提升企业IT服务管理
  13. uniapp使用IPA苹果支付
  14. mysql怎么生成db文件_如何使mysql生成.db文件
  15. 如何读写8bit rgb彩色png图像
  16. 构建初级前端页面以及重构开发环境(from 知乎)
  17. 超详细的ceph节点迁移(mon和mgr)
  18. idea 导入别人的项目后,显示包的名称错误does not correspond to the file path
  19. 王爽老师汇编语言第四版第十章CALL和RET指令——小白笔记
  20. 同轴线传输网络摄像机信号2KM

热门文章

  1. 我的自留地:闲言碎语
  2. DX11中渲染到纹理的数据存储问题
  3. 基于Vue实现头像选择预览
  4. 云栖大会|闲鱼Serverless架构实践(精品)
  5. Python 下划线 单下划线 双下划线的作用
  6. 确认测试 是否等于 验收测试
  7. protopyte.js ajax
  8. 当 ITOA 遇上 OneAlert,企业可以至少每年节省 3600 小时!
  9. 开一家水果店需要学习哪些内容,想以后开水果店去哪里学习工作
  10. Linux Shell的dirname和readlink的使用