多个表左联,要返回全部的结果,解决不能用where的问题
qb.leftJoin('info_student', 'grouping_class_student.studentId', 'info_student.id');
qb.leftJoin('grouping_class', 'grouping_class_student.classId', 'grouping_class.id');
qb.leftJoin('exam_score', 'grouping_class_student.studentId', 'exam_score.studentId');
qb.where('grouping_class_student.planId', groupingId);
qb.where(function() {
this.where(function() {
this.where('exam_score.planId', '=', examId);
}).orWhere(function() {
this.whereNull('exam_score.planId');
});
});
多个表左联,要返回全部的结果,解决不能用where的问题
qb.where(function() {
this.where(function() {
this.where('exam_score.planId', '=', examId);
}).orWhere(function() {
this.whereNull('exam_score.planId');
});
});
这一部份是关键点
多个表左联,要返回全部的结果,解决不能用where的问题的更多相关文章
- ORA-01652:无法通过128(在表空间temp中)扩展temp段 解决方法
ORA-01652:无法通过128(在表空间temp中)扩展temp段 解决方法 (2016-10-21 16:49:53) 今天在做一个查询的时候,报了一个"ORA-01652无法通过 ...
- Atitti dbutil获取多个返回结果集的解决
Atitti dbutil获取多个返回结果集的解决 1.1. 多个select默认只返回第一个resultset1 1.2. 调用存储过程,也是返回第一个select的1 1.3. 如果insert前 ...
- SQL分页存储过程——表名、返回的列、排序字段、排序类型、条件、页尺寸、页码
ALTER PROCEDURE [dbo].[SP_LGY_ICU_PAGECUT] ), -- 表名 ) = '*', -- 需要返回的列 )='''', -- 排序的欄位名 , -- 設置排序類型 ...
- 【转载】[JS]让表单提交返回后保持在原来提交的位置上
有时候,在网页中点击了页面中的按钮或是刷新了页面后,页面滚动条又 会回到顶部,想看后面的记录就又要拖动滚动条,或者要按翻页键,非常不方便,想在提交页面或者在页面刷新的时候仍然保持滚动条的位置不变,最好 ...
- [K/3Cloud] 如何从被调用的动态表单界面返回数据
在需要返回数据的地方调用表单返回方法完成数据返回 this.View.ReturnToParentWindow(retData); 在调用界面的回调函数中取出返回结果的ReturnData即可使用. ...
- form 表单提交返回值问题
form不比ajax,即使后台返回值后,在页面也不知道怎么去取值判断提交状态.所以前几天结合网上资料整了一个小案例,需要用到ajaxSubmit,即通过ajax来提交表单,好处在于可以在任何情况下进行 ...
- .net开源工作流引擎ccflow表单数据返回值Pop分组模式和表格模式对比
Pop分组模式和表格模式对比 关键词: 驰骋工作流引擎 表单引擎 ccflow .net开源工作流 jflow Java工作流引擎 驰骋工作流程快速开发平台 工作流程管理系统 工作流引擎 a ...
- form表单中button按钮返回上一页解决办法
解决Form中button按钮不好用的问题解决办法. 方法一: 1.在Form表单标签中国增加一个属性,如下图,红框处 2.返回按钮样式 3.onclick方法需要跳转的页面,遮挡处为需要返回的页面 ...
- 直接提交一个form表单后台返回一个新页面通过target属性可以放到iframe当中
问题描述: 我想提交一个form表单后台直接返回一个新页面,但是当前页面还不想被替换掉: 解决方案: 在页面中添加一个iframe将form表单的target属性设置为iframe的id这样的话返回的 ...
随机推荐
- python-day3集合、文件读写、函数
@集合运算 s.union(t) s | t 返回一个新的 set 包含 s 和 t 中的每一个元素 s.intersection(t) s & t 返回一个新的 set 包含 s 和 t 中 ...
- 201772020113李清华《面向对象程序设计(java)》第十二周学习总结
1.实验目的与要求 (1) 掌握Java GUI中框架创建及属性设置中常用类的API: (2) 掌握Java GUI中2D图形绘制常用类的API: (3) 了解Java GUI中2D图形中字体与颜色的 ...
- react-native-table-component, react-native 表格
使用 react-native-table-component, 加上 FlatList 组件,实现可以下拉刷新,上拉加载的demo import React, { Component } from ...
- redis数据转移随笔
生产环境有一批版本比较老的redis主从架构,是一主多从,版本是2.8 由于想迁移到阿里云上,那么问题来了,怎么把redis数据转移到阿里云上 为了省事,阿里云也是和生产环境一样的版本,架构也一致,其 ...
- Redis系列十:缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级
一.缓存雪崩 缓存雪崩我们可以简单的理解为:由于原有缓存失效,新缓存未到期间(例如:我们设置缓存时采用了相同的过期时间,在同一时刻出现大面积的缓存过期),所有原本应该访问缓存的请求都去查询数据库了,而 ...
- Python连接Access数据库遇到问题'ADODB.Connection', '未找到提供程序。该程序可能未正确安装。'的处理办法
环境Windows7+python3.6.4 x64位+AccessDatabaseEngine_X64.exe,执行代码: import win32com.client conn = win32co ...
- linux 服务管理
服务的分类 查看已安装的服务 RPM包安装的服务 chkconfig --list #查看服务自启动状态,可以看到所有rpm包安装的服务 ps aux #查看已启动的服务 源码包安装的服务 查看服务安 ...
- 读取文件不是真实的具体路径 setZh.ini
读取 c:\windows\Syswow64\XX\XX.ini 时内容不正确. 发现真实文件为: C:\Users\用户名\AppData\Local\VirtualStore\Windows\Sy ...
- 关于导入zepto出错的问题
一.前言 webpack在配置多页面开发的时候 ,发现用 import 导入 Zepto 时,会报 Uncaught TypeError: Cannot read property 'createEl ...
- Java开发中的23种设计模式(转)
设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...