当前位置: 代码迷 >> Sql Server >> sql取两个查询语句的差集
  详细解决方案

sql取两个查询语句的差集

热度:5   发布时间:2016-04-27 18:03:49.0
求助:sql取两个查询语句的差集
同一个表,如何取以下两个查询结果的差集

select O.boardNumID from Orders as O where O.StationId=39 and o.StatusId =1;

select 0.boardNumID from Orders as O where O.StationId=39 and o.StatusId =0;



------解决方案--------------------
你的差集是什么?
这两个查询语句,所获得的结果集应该没有交集.
------解决方案--------------------
SQL code
select O.boardNumID from Orders as O where O.StationId=39 and o.StatusId =1;exceptselect 0.boardNumID from Orders as O where O.StationId=39 and o.StatusId =0;
------解决方案--------------------
探讨
SQL code
select O.boardNumID from Orders as O where O.StationId=39 and o.StatusId =1
except
select 0.boardNumID from Orders as O where O.StationId=39 and o.StatusId =0


------解决方案--------------------
SQL code
select O.boardNumID-(select boardNumID from Orders  where StationId=39 and StatusId =0 and  id=o.id)--id为唯一值 from Orders as O where O.StationId=39 and o.StatusId =1;
------解决方案--------------------
SQL code
select  O.boardNumID from  Orders as O where O.StationId=39 and o.StatusId =1and  NOT IEXISTS(select 1 from Orders  where boardNumID=O.boardNumID StationId=39 and StatusId =0)
  相关解决方案