1. 程式人生 > >PHP明細之間的關聯和having進行分組,不推薦這樣做,只是做為偷懶的辦法

PHP明細之間的關聯和having進行分組,不推薦這樣做,只是做為偷懶的辦法

 1 
-- 只求和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
2 FROM 3 ( 4 SELECT 5 rdp.return_id, 6 rdp.order_id, 7 rdp.product_id, 8 rdp.warehouse_id returnHouse, 9 rdp.quantity returnNum, 10 dop.quantity deliverNum, 11 DATE( rdp.date_added ) rdbData, 12 dop.deliver_order_id, 13 doo.do_warehouse_id deliverToHouse, 14
doo.warehouse_id deliverHouse, 15 doo.relevant_id 16 FROM 17 oc_return_deliver_product rdp -- 商品級別 18 INNER JOIN deliver_order_product dop ON rdp.order_id=dop.order_id AND rdp.product_id=dop.product_id -- 商品級別 19 INNER JOIN deliver_order doo ON dop.deliver_order_id=doo.deliver_order_id
20 21 WHERE 22 DATE(rdp.date_added) BETWEEN '2018-11-08' 23 AND date_add( CURRENT_DATE (), INTERVAL 0 DAY) 24 AND rdp.warehouse_id = 22 25 AND rdp.confirmed>0 26 AND rdp.STATUS=1 27 AND doo.relevant_id >0 28 ) A -- 商品級別 29 LEFT JOIN relevant_deliver_binding rdb ON A.relevant_id=rdb.relevant_id AND A.deliver_order_id=rdb.deliver_order_id -- 分揀級別 30 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 -- 商品級別 31 LEFT JOIN warehouse_requisition wr ON wrt.relevant_id=wr.relevant_id 32 LEFT JOIN warehouse ww ON A.returnHouse=ww.warehouse_id 33 LEFT JOIN warehouse ww1 ON A.deliverHouse=ww1.warehouse_id 34 LEFT JOIN warehouse ww2 ON A.deliverToHouse=ww2.warehouse_id 35 LEFT JOIN warehouse ww3 ON wr.from_warehouse=ww3.warehouse_id 36 LEFT JOIN warehouse ww4 ON wr.to_warehouse=ww4.warehouse_id 37 GROUP BY wrt.product_id -- 計算wrt基礎資料 38 HAVING returnHouse != from_warehouse -- 分組之後做為條件查詢 39 order by product_id DESC

 園子裡的草長的都快比人高了,太懶也不想動,好久都沒有整理過了,今天先鋤鋤草,過二天再澆澆水,開始園子的生活,再種點菜什麼的,這樣看起來像個碼農的生活,不至於那麼無聊,哈哈,聽起來不錯哦,給小夥伴分享一些小技巧,同時也讓自個再學一遍,PHP明細之間怎麼做的關聯連動having進行分組,看錶結構就知道怎麼玩了。如果能用UNION做為條件進行比較查詢那麼速度會比上述程式碼更快,相對的連線的表將會更多,但是即便連的資料表多出二到三倍,依然UNION執行速度快,百試不爽!目標都是一樣的,只是方式不同,看心情怎麼玩了,得到基礎後,再用PHP重組陣列變成想要的格式。150個字應該夠了........