sql两个表的组合查询  使用 join on





比如:两个表查询:

select  u.username, t.title  from user u join task t on u.id = t.id; 

当中  user u 是用来把表名简化   join则是增加其它的表    on则是表示查询的条件   u.username 则是表示user表中的username字段





相同的道理  多表查询的原理也是一样的

这是sql语句:

select * from user u
join task t on u.id = t.id
join task_user tu on tu.id = t.id

这是在yii框架以下使用query查询的方法:

        

$query = new Query();
$query->select('title,content,task.enable,task.id');
$query->from('task');
$query->leftJoin('task_user_rel', 'task.id= task_user_rel.task_id');
$query->leftJoin('user', 'task_user_rel.user_id = user.id');
$query->leftJoin('org_user_rel', 'user.id = org_user_rel.user_id');
$query->leftJoin('org', 'org_user_rel.org_id =org.id');
$query->where([
'org.id' => $orgModel->id
]);
$data = $query->all();
$data = $query->one();

事实上在yii框架以下有非常多中进行数据库的查询的方法,比方说:

   $data = JdCrmSmsUserModel::find()->where([
'vender_id' => [
$venderId
]
])->all();

或者是採用findBySql(),findOne(),findAll()等一下,来代替find()要查询。

版权声明:本文博主原创文章,博客,未经同意不得转载。

sql这两个表和查询的组合yii通过使用数据库查询的更多相关文章

  1. SQL 关联两个表的视图总结

    视图就是一条select查询语句,是一张虚拟表. table a  , table b  以表a基表(a LEFT  JOIN b) 1.1 当update view时 更新view中表b字段并且表b ...

  2. sql sever 两数据表差异比较EXCEPT、INTERSECT

    1.概念: EXCEPT主要是用来获取两个结果集的差:两个结果用EXCEPT链接,返回第一个结果集不在第二个结果集中的数据. INTERSECT主要是用来获取两个结果集的交集:两个结果用INTERSE ...

  3. SQL 统计两个表的数据,按同一日期分组

    思路:把两个表的数据按日期整合到临时表在按日期分组,求和. 例子: SELECT t.dateTime AS '日期',SUM(t.money) AS '表1利息',SUM(t.interest) A ...

  4. 微调数据库表结构,30 分钟搞定 WordPress 数据库查询缓慢问题

    同事的美女图片站,基于 WordPress 搭建的,因为数据越来越多,变得慢,我从 PHP slow log 里面看出是 WordPress 有些查询总是很慢,即使已经安装了页面缓存插件,但是由于页面 ...

  5. SQL中两种表复制语句

    Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少.但我 ...

  6. 《万能数据库查询分析器》实现使用SQL语句直接高效地访问文本文件

    <万能数据库查询分析器>实现使用SQL语句直接高效地访问文本文件 马根峰 (广东联合电子服务股份有限公司, 广州 510300) 摘要    用SQL语句来直接访问文本文件?是在做梦吗? ...

  7. kettle中使用javascript步骤和fireToDB函数实现自己定义数据库查询

    kettle中使用javascript步骤和fireToDB函数实现自己定义数据库查询 如果你须要实现非传统的数据库查询操作.为了讨论这样的情景,我们如果你须要读取数据库中的正則表達式,然后检查输入的 ...

  8. SQL联合查询两个表的数据

    刚有个项目,需要查询水位数据表中的水位信息,及查询降雨量表中统计时段降雨量的数据,以计算出日降雨量,而且时段是前一天8时到后一天8时总共24个小时. 两个子查询: 1.根据当前时间判断统计前天8时到今 ...

  9. SQL如何查询两个表的数据

    在进行查询操作时,我们通常需要查询两个关联表的数据,我们可以使用where语句进行查询,如: select Emp.E_Id,Company.C_OraName from Emp,Company wh ...

随机推荐

  1. DC中检查脚本错误

    dcprocheck    +     要检查的tcl文件

  2. rz、sz (上传下载)命令参数的解释

    $ man rz,查看帮助: -a, –ascii -b, –binary 用binary的方式上传下载,不解释字符为 ascii -e, –escape 强制escape 所有控制字符,比如 Ctr ...

  3. Avro基础 分类: C_OHTERS 2015-02-14 19:56 310人阅读 评论(0) 收藏

    一.Avro的基本功能 1.定义了数据模式文件的语法,一般使用json文件.以及一些数据基本类型与复杂类型. 2.定义了数据序列化到文件后的数据格式,此格式可供各种语言进行读取. 3.为部分语言定义了 ...

  4. Delphi的指针(有图,很清楚)

    Pointers are like jumps, leading wildly from one part of the data structure to another. Their introd ...

  5. excel-vlookup (跨文件引用)

  6. 【32.22%】【codeforces 602B】Approximating a Constant Range

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  7. pandas 时间序列分析(一)—— 基础

    0. 以时间作为序列的索引 >> from datetime import datetime >> dates = [datetime(2011, 1, i) for i in ...

  8. chrome-vimium在markdown插件的页面失去效果

    chrome-vimium在markdown插件的页面失去效果

  9. php中foreach源码分析(编译原理)

    php中foreach源码分析(编译原理) 一.总结 编译原理(lex and yacc)的知识 二.php中foreach源码分析 foreach是PHP中很常用的一个用作数组循环的控制语句.因为它 ...

  10. 【机器学习实战】第7章 集成方法(随机森林和 AdaBoost)

    第7章 集成方法 ensemble method 集成方法: ensemble method(元算法: meta algorithm) 概述 概念:是对其他算法进行组合的一种形式. 通俗来说: 当做重 ...