sql結果集相減
① 【急!】sql兩個查詢值相減
select a.fd,(a.FoodQuantity-b.needQuantity) PurchaseQuantity
from
(select Canteeninventory.fd fd, sum(FoodQuantity) FoodQuantity from Canteeninventory where CA='CA01' group by fd) a,
(select CanteenNeed.fd fd,needQuantity from CanteenNeed where ca='CA01' and NeedDate='2009-5-20') b
where a.fd=b.fd
----------------------補充------------------
倘若Inventory表裡沒有,但是Need表裡有,那你想怎麼顯示,你不說明白了怎麼寫?
② 在SQL中 兩個表的數據怎麼相減
說清楚一點:是兩個視圖中的元組相減還是兩個視圖中連接後的數據結果相減?
一個關系減一個關系可以用謂詞NOT
IN或條件
<>
ANY進行關系操作運算。
兩個關系中的數據相減可以連接後(相所要求的條件,比如是同一個人的工資和扣的養老金之類,連接條件就是同一個人的標識,可能是身份證號,職工號什麼的)相減,這沒有什麼啊,兩表連接後進行數據操作就可以了!句中一般和一個表中數據的加減沒有區別:
select
A.gongzi-B.yanglao
as
Result,*
form
A,B
where
A.gonghao
=
B.gonghao
③ sql結果集相減
SELECT * FROM ET_CHARGE_PILE_DATA_INFO where data_status='normal'
MINUS
SELECT * FROM ET_CHARGE_PILE_DATA_INFO where charge_pile_info_id in (
select id from ET_CHARGE_PILE_INFO where CHARGE_STATION_INFO_id in(
select id from ET_CHARGE_STATION_INFO where operator_id in (
select id from ET_OPERATOR))) and data_status='normal'
前提是兩條SQL查詢出來的欄位一模一樣,則可以用 「MINUS」連接相減,得出差集