thinkphp多表查询两表有重复相同字段的完美解决方法
框架:thinkphp
版本:3.2.3
内容:查询语句
解决问题:重复字段问题
$Data = M('a')->where($where) ->Field('a.name as aname,b.name as uname,a.*') ->join('b on b.jb_id=a.id') ->order('a.id desc') ->select();
解释:a.* 查询a表所有的字段
a.name as aname 转换a表中的name重复字段为aname
以上就是小编为大家带来的thinkphp多表查询两表有重复相同字段的完美解决方法的全部内容了,希望对大家有所帮助,多多支持我们~
相关推荐
-
thinkPHP5实现的查询数据库并返回json数据实例
本文实例讲述了thinkPHP5实现的查询数据库并返回json数据.分享给大家供大家参考,具体如下: TP5 实现查询数据库返回json数据(返回json数据函数实例) 返回结果: 复制代码 代码如下: {"code":0,"msg":"\u6570\u636e\u8fd4\u56de\u6210\u529f","count":1000,"data":[{"id":617,"t
-
分享ThinkPHP3.2中关联查询解决思路
不废话了,直接给大家贴代码了,代码很简单,都是比较常见的sql语句,具体内容请看下文. CREATE TABLE `test_avatar` ( `uid` int(11) unsigned NOT NULL DEFAULT '0', `avatar` varchar(255) NOT NULL DEFAULT '', PRIMARY KEY (`uid`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; INSERT INTO `test_avatar` VALUE
-
ThinkPHP5联合(关联)查询、多条件查询与聚合查询实例详解
本文实例讲述了ThinkPHP5联合(关联)查询.多条件查询与聚合查询.分享给大家供大家参考,具体如下: 一.联合(关联)查询 1. 项目表 DROP TABLE IF EXISTS `darling_project`; CREATE TABLE `darling_project` ( `project_id` int(32) NOT NULL AUTO_INCREMENT, `project_name` varchar(20) NOT NULL, `create_time` int(32) N
-
ThinkPHP采用原生query实现关联查询left join实例
本文实例讲述了ThinkPHP采用原生query实现关联查询left join的方法.分享给大家供大家参考.具体如下: thinkphp提供了join方法来实现关联查询,但是很不好用,还是用原生的方便,所以推荐大家用query方法: 复制代码 代码如下: $Model = new Model(); $sql = "SELECT a.id, a.attr_name, a.attr_input_type, a.attr_type, a.attr_values, v.attr_val
-
ThinkPHP多表联合查询的常用方法
ThinkPHP中关联查询(即多表联合查询)可以使用 table() 方法或和join方法,具体使用如下例所示: 1.原生查询示例: 复制代码 代码如下: $Model = new Model(); $sql = 'select a.id,a.title,b.content from think_test1 as a, think_test2 as b where a.id=b.id '.$map.' order by a.id '.$sort.' limit '.$p->firstRow.',
-
thinkphp中多表查询中防止数据重复的sql语句(必看)
下面先来看看例子: table id name 1 a 2 b 3 c 4 c 5 b 库结构大概这样,这只是一个简单的例子,实际情况会复杂得多. select *, count(distinct name) from table group by name 结果: id name count(distinct name) 1 a 1 2 b 1 3 c 1 最后一 项是多余的,不用管就行了 tp2.0手册 搜索连贯操作 可看到相关的资料 SELECT cat_id, COUNT(*) AS
-
thinkphp中的多表关联查询的实例详解
thinkphp中的多表关联查询的实例详解 在进行后端管理系统的编程的时候一般会使用框架来进行页面的快速搭建,我最近使用比较多的就是thinkphp框架,thinkphp框架的应用其实就是把前端和后端进行分割管理,前端用户登录查询系统放在thinkphp中的home文件夹中进行管理,后端管理系统放在thinkphp中的admin文件夹中进行管理.对了,在使用thinkphp框架的时候是是要用到mvc架构的,mvc架构就是model(数据模型).view(视图).controller(控制器)的结
-
ThinkPHP查询语句与关联查询用法实例
本文实例讲述了ThinkPHP查询语句与关联查询用法.分享给大家供大家参考.具体如下: 在thinkphp框架页面中我们可以直接拼写sql查询语句来实现数据库查询读写操作,下面就对此加以实例说明. 普通查询除了字符串查询条件外,数组和对象方式的查询条件是非常常用的,这些是基本查询所必须掌握的. 一.使用数组作为查询条件 复制代码 代码如下: $User = M("User"); //实例化User对象 $condition['name'] = 'thinkphp'; // 把查询条件传
-
ThinkPHP中关联查询实例
本文实例讲述了ThinkPHP中关联查询的用法.分享给大家供大家参考.具体分析如下: 在THINKPHP中关联查询(多表查询)可以使用 table() 方法或和join方法,如下示例所示: 1.table() 复制代码 代码如下: $list = $user->table('user_status stats, user_profile profile')->where('stats.id = profile.typeid')->field('stats.id as id, stats.
-
thinkphp多表查询两表有重复相同字段的完美解决方法
框架:thinkphp 版本:3.2.3 内容:查询语句 解决问题:重复字段问题 $Data = M('a')->where($where) ->Field('a.name as aname,b.name as uname,a.*') ->join('b on b.jb_id=a.id') ->order('a.id desc') ->select(); 解释:a.* 查询a表所有的字段 a.name as aname 转换a表中的name重复字段为aname 以上就是小编为
-
Oracle多表查询中间表的创建实例教程
ORACLE 多表查询中间表的创建 表与表之间关系的分类: 1. 一对一(了解): * 如:人和身份证 * 分析:一个人只有一个身份证,一个身份证只能对应一个人 2. 一对多(多对一): * 如:部门和员工 * 分析:一个部门有多个员工,一个员工只能对应一个部门 3. 多对多: * 如:学生和课程 * 分析:一个学生可以选择很多门课程,一个课程也可以被很多学生选择 具体的实现方式: 1. 一对多(多对一): * 如:部门和员工 * 实现方式
-
oracle表被锁定的完美解决方法
解决办法: ora-00031:session marked for kill处理oracle中杀不掉的锁一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库.现在提供一种方法解决这种问题,那就是在ORACLE中杀不掉的,在OS一级再杀. 下面的语句用来查询哪些对象被锁: select object_name,machine,s.sid,s.serial# from v$locked_object l,dba_obj
-
阻止表单提交按钮多次提交的完美解决方法
如果表单是通过onsubmit进行Ajax提交,注意将表单提交按钮input type属性设为button,尽量不要设置为submit类型. 另外,在提交事件发出后,最好将提交按钮设置为disabled,防止由于网络延时问题,让用户有机会进行多次点击重复提交. onclick事件里面执行 $(this).attr('disabled','disabled'); 在点击一次后立马将按钮设置为不可使用. 或者向如下方法另行定义一个jQuery函数来进行控制: $("form").submi
-
Mybatis动态调用表名和字段名的解决方法
一直在使用Mybatis这个ORM框架,都是使用mybatis里的一些常用功能.今天在项目开发中有个业务是需要限制各个用户对某些表里的字段查询以及某些字段是否显示,如某张表的某些字段不让用户查询到.这种情况下,就需要构建sql来动态传入表名.字段名了.现在对解决方法进行下总结,希望对遇到同样问题的伙伴有些帮助. 动态SQL是mybatis的强大特性之一,mybatis在对sql语句进行预编译之前,会对sql进行动态解析,解析为一个BoundSql对象,也是在此处对动态sql进行处理.下面让我们先
-
MySQL修改表一次添加多个列(字段)和索引的方法
MySQL修改表一次添加多个列(字段) ALTER TABLE table_name ADD func varchar(50), ADD gene varchar(50), ADD genedetail varchar(50); MySQL修改表一次添加多个索引 ALTER TABLE table_name ADD INDEX idx1 ( `func`), ADD INDEX idx2 ( `func`,`gene`), ADD INDEX idx3( `genedetail`); 以上这篇
-
MongoDB用Mongoose得到的对象不能增加属性完美解决方法(两种)
一,先定义了一个goods(商品)的models var mongoose = require('mongoose'); var Schema = mongoose.Schema; var productSchema = new Schema({ "productId":String, "producName": String, "salePrice":Number, "productImage":String }); mod
-
Android Listview 滑动过程中提示图片重复错乱的原因及解决方法
主要分析Android中Listview滚动过程造成的图片显示重复.错乱.闪烁的原因及解决方法,顺便跟进Listview的缓存机制. 1.原因分析 Listview item 缓存机制:为了使得性能更优,Listview会缓存行item(某行对应的view).listview通过adapter的getview函数获得每行的item.滑动过程中, a.如果某行item已经划出屏幕,若该item不在缓存内,则put进缓存,否则更新缓存: b.获取滑入屏幕的行item之前会先判断缓存中是否有可用的it
-
AngularJS中update两次出现$promise属性无法识别的解决方法
前言 本文主要介绍的是在AngularJS中update两次出现$promise属性无法识别的解决方法,下面话不多说,先来看看错误提示,然后再看看解决的办法吧. 一.错误信息如下: ERROR 2015-12-02 14:33:17,653 http-bio-8080-exec-42 o.s.s.r.i.e.InternalErrorExceptionMapper - Unrecognized field "$promise" (class com.inetpsa.fnd.rest.c
随机推荐
- 如何利用DOS批处理实现定时关机操作详解
- js中settimeout方法加参数
- 如何手写Ajax实现异步刷新
- 笔记本T60拆机,安装内存等图解教程
- 解读ASP.NET 5 & MVC6系列教程(10):Controller与Action
- BootStrap表单控件之复选框checkbox和单选择按钮radio
- JavaScript继承学习笔记【新手必看】
- 纯javascript版日历控件
- .NET 缓存模块设计实践
- python抓取网页中的图片示例
- php数组函数序列 之shuffle()和array_rand() 随机函数使用介绍
- 使用Docker快速搭建Oracle开发环境的方法教程
- 浅析iOS中的浅拷贝和深拷贝(copy和mutableCopy)
- 常用CSS集合
- 2014春节祝福语大全 2014新年祝福短信
- js选择日期
- 利用nginx+lua+redis实现反向代理方法教程
- 循环队列详解及队列的顺序表示和实现
- JSON for java快速入门总结学习
- C#中WebBroeser控件用法实例教程