-- 只求和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. MD5加密 和Sha256加密

    //MD5加密 private static string GetMd5Hash(string emailAddress) { byte[] data = MD5.Create().ComputeHa ...

  2. Ubuntu 12.04下安装配置体验GNOME 3(转载)

    转自:http://www.tuicool.com/articles/zIbeIj 自己并不是一个思想前卫的人,穿衣审美也都是大众眼光.但是唯独喜欢在计算机方便尝试最新,心肝情愿的做小白鼠.近日,按耐 ...

  3. bzoj 5195: [Usaco2018 Feb]Directory Traversal【树形dp】

    注意到目录是一颗树结构,然后就简单了,预以1为根的处理出dis[u]为以这个点为根,到子树内的目录总长,si为子树内叶子数 第二遍dfs换根即可 #include<iostream> #i ...

  4. 洛谷 P3358 最长k可重区间集问题 【最大费用最大流】

    同 poj 3680 https:www.cnblogs.com/lokiii/p/8413139.html #include<iostream> #include<cstdio&g ...

  5. 安卓小程序的一次bug调试,报错:java.lang.NullPointerException,logcat学习

    做实验的时候,调试了很久后模拟器执行后,app还是会崩溃并停止运行,错误如下. 因为初学,所以也不知道怎么使用调试工具,也不懂看日志,经过学习后尝试这查看了LogCat日志上面有这样的提示: 其中引起 ...

  6. shiro之jdbcRealm

    Shiro认证过程 创建SecurityManager--->主体提交认证--->SecurityManager认证--->Authenticsto认证--->Realm验证 ...

  7. 【转】【开源下载】基于TCP网络通信的即时聊天系统(IM系统)(c#源码)

    原文链接 强烈关注,学习!

  8. [译]curl_multi_add_handle

    NAMEcurl_multi_add_handle - add an easy handle to a multi session添加easy handle到multi session中 SYNOPS ...

  9. Windowsforms 中对文件操作

    文件及文件夹操作: 引用命名空间:using system .IO; 1.File类: 创建:File.Create(路径);——返回FileStream FileStream fs = File.C ...

  10. composer Failed to decode zlib stream 无法解码zlib流

    Win7 中安装 Composer (PHP) 国内有些网络不能访问美国的Composer官网,可访问 Composer 中文网 学习. 目标 可以在任何目录下的项目中执行 PHP composer. ...