PHP明细之间的关联和having进行分组,不推荐这样做,只是做为偷懒的办法
-- 只求和wrt的数据,其它数据保持不变!
SELECT A.return_id,A.relevant_id,A.order_id,A.deliver_order_id,A.product_id,A.returnNum,A.deliverNum,A.rdbData,
SUM(wrt.quantity)wrtNum,GROUP_CONCAT(DISTINCT wrt.container_id) useContainer,GROUP_CONCAT(DISTINCT rdb.relevant_id) otherRelevantId,
ww.shortname returnHouse,ww1.shortname deliverHouse,ww2.shortname deliverToHouse,ww3.shortname from_warehouse,ww4.shortname to_warehouse
FROM
(
SELECT
rdp.return_id,
rdp.order_id,
rdp.product_id,
rdp.warehouse_id returnHouse,
rdp.quantity returnNum,
dop.quantity deliverNum,
DATE( rdp.date_added ) rdbData,
dop.deliver_order_id,
doo.do_warehouse_id deliverToHouse,
doo.warehouse_id deliverHouse,
doo.relevant_id
FROM
oc_return_deliver_product rdp -- 商品级别
INNER JOIN deliver_order_product dop ON rdp.order_id=dop.order_id AND rdp.product_id=dop.product_id -- 商品级别
INNER JOIN deliver_order doo ON dop.deliver_order_id=doo.deliver_order_id WHERE
DATE(rdp.date_added) BETWEEN '2018-11-08'
AND date_add( CURRENT_DATE (), INTERVAL 0 DAY)
AND rdp.warehouse_id = 22
AND rdp.confirmed>0
AND rdp.STATUS=1
AND doo.relevant_id >0
) A -- 商品级别
LEFT JOIN relevant_deliver_binding rdb ON A.relevant_id=rdb.relevant_id AND A.deliver_order_id=rdb.deliver_order_id -- 分拣级别
LEFT JOIN warehouse_requisition_temporary wrt ON rdb.relevant_id=wrt.relevant_id AND A.product_id=wrt.product_id AND wrt.relevant_status_id=4 -- 商品级别
LEFT JOIN warehouse_requisition wr ON wrt.relevant_id=wr.relevant_id
LEFT JOIN warehouse ww ON A.returnHouse=ww.warehouse_id
LEFT JOIN warehouse ww1 ON A.deliverHouse=ww1.warehouse_id
LEFT JOIN warehouse ww2 ON A.deliverToHouse=ww2.warehouse_id
LEFT JOIN warehouse ww3 ON wr.from_warehouse=ww3.warehouse_id
LEFT JOIN warehouse ww4 ON wr.to_warehouse=ww4.warehouse_id
GROUP BY wrt.product_id -- 计算wrt基础数据
HAVING returnHouse != from_warehouse -- 分组之后做为条件查询
order by product_id DESC
园子里的草长的都快比人高了,太懒也不想动,好久都没有整理过了,今天先锄锄草,过二天再浇浇水,开始园子的生活,再种点菜什么的,这样看起来像个码农的生活,不至于那么无聊,哈哈,听起来不错哦,给小伙伴分享一些小技巧,同时也让自个再学一遍,PHP明细之间怎么做的关联连动having进行分组,看表结构就知道怎么玩了。如果能用UNION做为条件进行比较查询那么速度会比上述代码更快,相对的连接的表将会更多,但是即便连的数据表多出二到三倍,依然UNION运行速度快,百试不爽!目标都是一样的,只是方式不同,看心情怎么玩了,得到基础后,再用PHP重组数组变成想要的格式。150个字应该够了........
PHP明细之间的关联和having进行分组,不推荐这样做,只是做为偷懒的办法的更多相关文章
- SHAREPOINT 2013 列表之间相互关联
修改内容 1.增加列表设置,隐藏Aid字段操作 SharePoint 列表之间相互关联 例如两张列表之间的父子关系. 思路如下: 列表中新增列表项后会有一个唯一的ID,我们获取到该ID赋予子表即可将两 ...
- 【CoreData】表之间的关联
这次是表之间怎么进行关联,要求如下: // 建立学生与班级表之间的联系 既然是表与表之间的关联,那肯定是要先创建表: // 1.创建模型文件 (相当于一个数据库里的表) // New File ——— ...
- PowerDesigner如何设计表之间的关联
PowerDesigner如何设计表之间的关联 步骤/方法 在工具箱中找到参照关系工具: 由地区表到省份表之间拉参照关系,箭头指向父表,然后双击参照关系线,打开参照关系的属性: 在这里检查 ...
- Winform中Checkbox与其他集合列表类型之间进行关联
本文提供了Checkbox与CheckedListBox.DataGridViewCheckBoxColumn等的联动关系 1.CheckboxAssociateFactroy.Create创建联动关 ...
- Hibernate中表与表之间的关联多对多,级联保存,级联删除
第一步:创建两个实体类:用户和角色实体类,多对多关系,并让两个实体类之间互相关联: 用户实体类: package com.yinfu.entity; import java.util.HashSet; ...
- Postman中如何实现接口之间的关联?
Postman中如何实现接口之间的关联? 不单单说Postman中,我为什么拿Postman举例,因为它比较简单一点. 那如果我只问你如何实现接口之间的关联,那肯定有很多的方式,Postman只是其中 ...
- [MySQL数据库之表的约束条件:primary key、auto_increment、not null与default、unique、foreign key:表与表之间建立关联]
[MySQL数据库之表的约束条件:primary key.auto_increment.not null与default.unique.foreign key:表与表之间建立关联] 表的约束条件 约束 ...
- mybatis中表与表之间的关联
第三天 1.mybatis处理表与表之间的关系? 比如要在帖子回复表里显示其它两张相关联表的信息. 处理的第一种方式: 1)主要的数据实体类是ReplyInfo,相关联的实体表的数据是TitleInf ...
- 关于CodeFirst异常:无法确定类型'XXX'和类型‘YYY’之间的关联的主体端,必须使用关系 Fluent API 或数据注释显式配置此关联的主体端。
此错误的原因是,你配置两个实体间的关系为一对一 然而我认为的一对一关系是,两者之间必须存在一个主体, 也就是说,你不能表1的外键是表2的主键并且表1的主键是表2的外键, 这样不符合数据库式吧? 我想多 ...
随机推荐
- get与post提交方式区别?
1.get <!--表单数据作为HTTP GET请求发送给action 规定的URL,并将数据附加在URL之后,由客户端直接发送给服务器.表单数据不能太长,也不能含有非ASCII码的字符--&g ...
- PHP编程常见小错误错误
使用PHP的过程中经常因为粗心出一些简单的错误,先将自己遇到几个的记录下来,以后慢慢增加. 1 Fatal error: Function name must be a string 翻译很简单,就是 ...
- PCB AdminMongo安装使用
AdminMongo是针对Mongodb设计的一款Web端可视化工具,它是使用Node.js编写,这里将安装过程记录一下. 一.下载AdminMongo 前题:安装使用adminMongo需提前安装好 ...
- python pip安装第三方模块
一.pip工具使用 安装windows版本python,自带pip工具.2者路径相同. 如果设置了环境路径,可以直接在命令提示符窗口下尝试运行pip.如果没有设置环境路径,可以先cd命令到pip工具的 ...
- bzoj 303: [CQOI2009]中位数图【前缀和+瞎搞】
处理出一个序列c,a[i]>b,c[i]=1;a[i]==b,c[i]=0;a[i]<b,c[i]=-1,然后s为c的前缀和,设w为b在a序列里的下标 注意到子序列一定横跨w,并且一个符合 ...
- nginx下配置虚拟主机
linux 虚拟机下配置虚拟主机 nginx.conf 文件不动, 在 conf.d 或者 conf 目录下 新建项目.conf server { listen 80; server_name loc ...
- .Net Core之Configuration
ASP.NET CORE 中自动集成了应用配置,支持从以下 源 处获取配置键值对 命令行 环境变量 内存 文件配置 其中文件配置是我们最常用的方式,默认文件是.json的json格式文件,摒弃了以往. ...
- UART、I2C、SPI三种协议对比
学嵌入式需要打好基础 下面我们来学习下计算机原理里的3种常见总线协议及原理 协议:对等实体之间交换数据或通信所必须遵守规则或标准的集合 1.UART(Universal Asynchronous Re ...
- 如何用PS快速做出3D按钮效果的图片
1 先建立一个透明图层 2:再创建一个矩形 3:选用过喷样式 4: 双击图层并应用蓝色,记得这里应该复制下颜色的16进制值. 效果如图所示 取消光泽选项,大功告成! 最终效果如图所示,将其保存为PNG ...
- 222 Count Complete Tree Nodes 完全二叉树的节点个数
给出一个完全二叉树,求出该树的节点个数.完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置.若最底层为第 h ...