联结查询

Posted on 2011-07-21 10:56  大瓜佬  阅读(131)  评论(0)    收藏  举报

A表有产品的结存数量: 

--------------------- 
ID       num 
---------------------- 
001       100 
002       2000 
003       60 

B表有产品的当前进,和出。 

ID         in           out 
--------------------------- 
002         20          30 
003         600         20 


结果表
KC 

ID           num           in           out           count 
------------------------------------------------------------ 
001           100          0            0             100 
002           2000         20           30            1990   
003           60           600          20            640 


--测试数据 
create   table   A(ID   char(3),num   int) 
insert   a     select   '001 ',100 
union   all   select   '002 ',2000 
union   all   select   '003 ',60 

create   table   b(ID   char(3),[in]   int,[out]   int) 
insert   b     select   '002 ',20,30 
union   all   select   '003 ',600,20 
go 

--查询 
select  a.id,a.num ,[in]=isnull(b.[in],0),[out]=isnull(b.[out],0) ,[count]=a.num+isnull(b.[in],0)-isnull(b.[out],0) 
from   a  left  join  b  on  a.id=b.id 

博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3