顯然,查詢結果的time為主鍵,目的是將兩個查詢結果合成乙個結果。如果在**中實現,一次便利乙個表新增到另外乙個表中,效率非常低。那麼在mysql 中實現方式為:
使用-- 出金 withdraw
select * from
(select date(complete_time) as time,sum(amt) as amount_out,0 as amount_in
from withdraw
where state=3
group by date(complete_time)
union all
-- 入金
select date(update_time) as time,0 as amount_out,sum(transfer_amount) as amount_in
from user_charge
where status=3
group by date(update_time)
) agroup by time
查詢結果:
mysql 兩個查詢結果合併去重 SQL多表查詢
知識框架 1.表的加法 union 去重 union將兩個表的資料按行合併在一起,兩個表重複的資料只保留乙個 union all 不去重 union all將兩個表的資料按行合併在一起並保留重複行。2.表的聯結 2.1.交叉聯結cross join 交叉聯結又稱笛卡爾積,交叉聯結是對兩張表中的全部記...
按行合併兩個sql的查詢結果
union all join 是平行合併 為水平連線 union all 是垂直合併 是將兩個結果聯結起來 union all 的語法 sql 語句 1 union all sql 語句 2 union 語法跟union all 一樣 union 會排除重覆記錄 效果類似 distinct 合併資料...
SQL語句裡合併兩個select查詢結果
sql union 操作符 union 操作符用於合併兩個或多個 select 語句的結果集。請注意,union 內部的 select 語句必須擁有相同數量的列。列也必須擁有相似的資料型別。同時,每條 select 語句中的列的順序必須相同。sql union 語法 select column na...