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”连接相减,得出差集