php 两表关联查询,Thinkphp连多表查询,关联2个或多个字段
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个或多个字段相关推荐
- php多表数据排除,thinkphp中多表查询中防止数据重复的sql语句(必看)
thinkphp中多表查询中防止数据重复的sql语句(必看) 这里有新鲜出炉的精品教程,程序狗速度看过来! ThinkPHP 开源 PHP 框架 ThinkPHP 是一个开源的 PHP 框架,是为了简 ...
- php多添件分页查询,ThinkPHP的多表查询+分页范例
ThinkPHP的多表查询+分页范例 对于一个PHP程序员来说,多表查询是经常遇到的事,下面介绍一下ThinkPHP的多表查询+分页范例 $db = M( "Article" ); ...
- oracle两表联查分组,oracle解决多表关联分组查询问题
做了一个功能需要分组查询,同时查询A表分组查询的ID需要关联B表的数据,本来想两个表关联查询,但是报group by 语法不正确.所以做了以下修改. select count(*), cindexid ...
- oracle多表关联查询报表,oracle多表关联查询和子查询
oracle多表关联查询和子查询 一.多表关联查询 例子: sql> create table student1 ( sid varchar(3), sname varchar(6), sage ...
- a表两个字段都与b表一个字段关联_Oracle系列第二章----表,精彩延续。。。
第一节 表的概念 表设计的原则 2.1 表 数据库中以表为组织单位存储数据.表用来存储一些事物的信息,首先需要有一个表名,以及存储的信息. 2.2 设计原则 好的数据库表设计会影响数据库操作效率.特别 ...
- mysql 连接查询两个条件_MySQL之多表查询一 介绍 二 多表连接查询 三 符合条件连接查询 四 子查询 五 综合练习...
一 介绍 本节主题 多表连接查询 复合条件连接查询 子查询 首先说一下,我们写项目一般都会建一个数据库,那数据库里面是不是存了好多张表啊,不可能把所有的数据都放到一张表里面,肯定要分表来存数据,这样节 ...
- oracle两表联查分页公式,Oracle中分页查询和联表查询
1.使用ROWNUM伪列查询 1.1.查询十条数据(rownum<=n) SELECT ROWNUM,A.* FROM v_sjjx_unit_info A WHERE ROWNUM<=1 ...
- sql关联查询子表的第一条_SQLAlchemy(8)惰性查询
10204 15.relationship 中惰性查询 1.试理解relationship(自己) MySQL 是一个关系型数据库,关系型数据库最关键的就是关系.SQLAlchemy 作为一层ORM ...
- server多笔记录拼接字符串 sql_第四章、SQL Server数据库查询大全(单表查询、多表连接查询、嵌套查询、关联子查询、拼sql字符串的查询、交叉查询)...
4.1.查询的类型 declare @value as int set @value = 50 select 'age:'as age,2008 years,@valueas va --这种查询时跟 ...
最新文章
- android画布,android-视图在画布比例上不适合画布
- ubuntu通过pem连接服务器
- 录制失败因为媒体服务失败_具惠善减肥失败,竟然是因为它
- 怎么做逆向geocoding?
- 让VC编译的Release版本程序在其他机器上顺利运行
- 电脑内部录音教程Virtual Audio Cable使用教程
- python中数据类型不同运算不同_Python的基本数据类型与运算
- 【SQL】CASE与DECODE
- 浏览器的DNS缓存查看和清除
- 【15年浙江省赛 C ZOJ 3871】Convex Hull【极角排序】
- 7月29日绝地求生服务器维护,绝地求生7月29日维护到几点 7.29吃鸡更新维护公告...
- 应用ITIL提升企业IT服务管理
- uniapp使用IPA苹果支付
- mysql怎么生成db文件_如何使mysql生成.db文件
- 如何读写8bit rgb彩色png图像
- 构建初级前端页面以及重构开发环境(from 知乎)
- 超详细的ceph节点迁移(mon和mgr)
- idea 导入别人的项目后,显示包的名称错误does not correspond to the file path
- 王爽老师汇编语言第四版第十章CALL和RET指令——小白笔记
- 同轴线传输网络摄像机信号2KM