mysql 將兩個統計的結果集合並成一行

2021-10-01 10:12:13 字數 1649 閱讀 3284

進銷存管理系統中,要統計商品的剩餘、銷售、總數(剩餘+銷售)的數量和金額。為了減少對資料庫的操作,使用一條sql查出結果。

1 剩餘數量及金額

2 銷售數量及金額

要求將兩行結果集合並成一行結果集

sql操作如下:

explain

select remain_total,remain_total_money,seller_count,seller_count_money,remain_total+seller_count as mileage_total,remain_total_money+seller_count_money as mileage_total_money from (

select

ifnull( sum( remain ), 0 ) remain_total,

ifnull( sum( remain * union_price ), 0 ) remain_total_money,

1 'id'

from

( select

wms_product_detail.*

from

`wms_product_detail`,

wms_product_detail_attribute

where

wms_product_detail.id = wms_product_detail_attribute.detail_id

and wms_product_detail.`status` = 0

and wms_product_detail.del_flag = 0

group by

wms_product_detail.id

) as product ) as tb1

left join ( select * from (

select

ifnull( sum( count ), 0 ) seller_count,ifnull(sum(now_price),0) seller_count_money,1 'id'

from

( (select

wms_order.*

from

`wms_product_detail`,

wms_order,

wms_product_detail_attribute

where

wms_product_detail.id = wms_order.detail_id

and wms_product_detail.id = wms_product_detail_attribute.detail_id

and wms_order.`status` = 0

and wms_order.del_flag = 0

group by

wms_order.id

) as tmp ) ) as ordertable) as tb2 on tb1.id=tb2.id

mysql將兩個表結果合併並分頁

功能 使用mysql中union all 將2個表中的資料查詢結果合併到乙個返回結果中。再針對結果統一排序 分頁操作等。注 2個表返回的列名必須一致 語句如下 select a.欄位,a.欄位,from select 表.欄位1,表.欄位2 from 表 where 條件 union all sel...

mysql 合併兩個查詢結果

顯然,查詢結果的time為主鍵,目的是將兩個查詢結果合成乙個結果。如果在 中實現,一次便利乙個表新增到另外乙個表中,效率非常低。那麼在mysql 中實現方式為 出金 withdraw select from select date complete time as time,sum amt as a...

mysql將兩個查詢結果顯示在一起

需求 我需要統計多個資料,每個資料需要在不同表進行查詢統計得出,且表與表這間沒有啥關係 我想把這些最終的資料顯示在一起 解決方案 想啥呢?可能嗎,建一張新錶把查出來資料插入進去,再查就顯示在一起了 當然我也強行做了各種試探,結果 如下 雖然最終效果實現了,但是這實際是對兩個表做了笛卡爾積,最終產生了...