我有 2 個選擇查詢,我是這樣加入的:
select * from
(
select sum(checkedcrates.checkedcrates) as sumA, checkedcrates.paramdescription from
(another query...)
as checkedcrates
group by checkedcrates.paramdescription
)
as A
Join
(select sum(cratecnt.cnt) as sumB, cratecnt.paramdescription from
(yet another query... )
as cratecnt
group by cratecnt.paramdescription)
as B
on a.paramdescription = b.paramdescription order by B.sum desc
這個查詢的結果是這樣的:
sumA paramdescription sumB paramdescription
----------------------------------------------------------
1779 bottom 10 bottom
1779 totalarea 8 totalarea
1779 innerwalls 7 innerwalls
1779 risperror 1 risperror
1779 outerwalls 0 outerwalls
1779 clipserror 0 clipserror
1779 totalnumberdefects 0 totalnumberdefects
到現在為止還挺好。現在我需要添加第五列,作為sumB/sumA. 我知道如何在簡單查詢上執行此操作,但我不知道如何使用來自兩個不同選擇查詢的資料在連接后添加它。
uj5u.com熱心網友回復:
只需添加b.sumB / a.sumA到選擇串列中:
select a.*, b.*, b.sumB / a.sumA from
...
也許您想要這樣做b.sumB * 1.0 / a.sumA,以避免整數除法(取決于使用的 dbms。)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/343579.html
