-- 只求和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进行分组,不推荐这样做,只是做为偷懒的办法的更多相关文章

  1. SHAREPOINT 2013 列表之间相互关联

    修改内容 1.增加列表设置,隐藏Aid字段操作 SharePoint 列表之间相互关联 例如两张列表之间的父子关系. 思路如下: 列表中新增列表项后会有一个唯一的ID,我们获取到该ID赋予子表即可将两 ...

  2. 【CoreData】表之间的关联

    这次是表之间怎么进行关联,要求如下: // 建立学生与班级表之间的联系 既然是表与表之间的关联,那肯定是要先创建表: // 1.创建模型文件 (相当于一个数据库里的表) // New File ——— ...

  3. PowerDesigner如何设计表之间的关联

    PowerDesigner如何设计表之间的关联   步骤/方法 在工具箱中找到参照关系工具:   由地区表到省份表之间拉参照关系,箭头指向父表,然后双击参照关系线,打开参照关系的属性:   在这里检查 ...

  4. Winform中Checkbox与其他集合列表类型之间进行关联

    本文提供了Checkbox与CheckedListBox.DataGridViewCheckBoxColumn等的联动关系 1.CheckboxAssociateFactroy.Create创建联动关 ...

  5. Hibernate中表与表之间的关联多对多,级联保存,级联删除

    第一步:创建两个实体类:用户和角色实体类,多对多关系,并让两个实体类之间互相关联: 用户实体类: package com.yinfu.entity; import java.util.HashSet; ...

  6. Postman中如何实现接口之间的关联?

    Postman中如何实现接口之间的关联? 不单单说Postman中,我为什么拿Postman举例,因为它比较简单一点. 那如果我只问你如何实现接口之间的关联,那肯定有很多的方式,Postman只是其中 ...

  7. [MySQL数据库之表的约束条件:primary key、auto_increment、not null与default、unique、foreign key:表与表之间建立关联]

    [MySQL数据库之表的约束条件:primary key.auto_increment.not null与default.unique.foreign key:表与表之间建立关联] 表的约束条件 约束 ...

  8. mybatis中表与表之间的关联

    第三天 1.mybatis处理表与表之间的关系? 比如要在帖子回复表里显示其它两张相关联表的信息. 处理的第一种方式: 1)主要的数据实体类是ReplyInfo,相关联的实体表的数据是TitleInf ...

  9. 关于CodeFirst异常:无法确定类型'XXX'和类型‘YYY’之间的关联的主体端,必须使用关系 Fluent API 或数据注释显式配置此关联的主体端。

    此错误的原因是,你配置两个实体间的关系为一对一 然而我认为的一对一关系是,两者之间必须存在一个主体, 也就是说,你不能表1的外键是表2的主键并且表1的主键是表2的外键, 这样不符合数据库式吧? 我想多 ...

随机推荐

  1. 【黑金教程笔记之005】【建模篇】【Lab 04 消抖模块之二】—笔记

    实验四和实验三的区别在于输出.实验三是检测到由高到低的电平变化时就拉高输出,检测到由低到高的电平变化时就拉低输出.而实验四检测到由高到低的电平变化时产生一个100ms的高脉冲.当检测到由低到高的电平变 ...

  2. centos6中office及中文输入法安装 (转载)

           原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://xuxuezhe.blog.51cto.com/1636138/73 ...

  3. 洛谷P3211 [HNOI2011]XOR和路径(期望dp+高斯消元)

    传送门 高斯消元还是一如既往的难打……板子都背不来……Kelin大佬太强啦 不知道大佬们是怎么发现可以按位考虑贡献,求出每一位是$1$的概率 然后设$f[u]$表示$u->n$的路径上这一位为$ ...

  4. PostgreSQL 9.6.2版本在centOS下的安装和配置

    1.如果有用yum安装过旧版,卸载掉: yum remove postgresql* 2.更新一下yum: sudo yum update 3.去 官网 找到 适合你系统 的资源的下载地址,然后使用w ...

  5. socket servlet webservice 区别及使用场景

    原文地址: http://blog.csdn.net/sdjkjsdh/article/details/51569481 1. Socket:使用TCP/IP或者UDP协议在服务器与客户端之间进行传输 ...

  6. 数据结构 - 动态单链表的实行(C语言)

    动态单链表的实现 1 单链表存储结构代码描述 若链表没有头结点,则头指针是指向第一个结点的指针. 若链表有头结点,则头指针是指向头结点的指针. 空链表的示意图: 带有头结点的单链表: 不带头结点的单链 ...

  7. QT如何发布程序

    QT如何发布程序转载 http://blog.csdn.net/iw1210/article/details/51253458

  8. Navicat无法连接Oracle数据库问题处理一例

    需要通过Navicat连接Oracle数据库进行数据迁移,发现无法连接,报如下错误信息: 按照百度中的说明配置了正确的oci. 此时又报如下错误: 问题解决: 经测试发现与软件的版本有关系,本机的Or ...

  9. 数组声明的几种方式以及length属性

    声明一: int[] arr=new int[10]; for(int i=0;i<arr.length;i++){ arr[i]=i; } 声明二: int[] arr2={1,2,3}; 声 ...

  10. 设置当前导航栏(navigationController)的标题

    一般在有导航navigationController的情况下,要设置页面的标题很简单 self.title = @"测试"; 也可以 self.navigationItem.tit ...