首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

关于数据库SQL语句关联搜索的有关问题

2013-04-02 
关于数据库SQL语句关联搜索的问题?SQL C#一,有一按钮,从库存表:A表中搜索出来的数据,如下:ID 名称 数量A1

关于数据库SQL语句关联搜索的问题?
SQL C#
一,有一按钮,从库存表:A表中搜索出来的数据,如下:
ID 名称 数量A
1  大米 200
2  高粱 100
3  小麦 500
4  大豆 100
5  绿豆 50

二,现在对搜索出来的数据进行出库操作,将出库操作好的数据放在出库表:B表中 如下:
ID AID  名称  数量B
1   4   大豆  50
2   5   绿豆  20

三,我试着用关联去达到自己想要的效果,如代码

select A.*,b.数量B where A.ID=B.AID

搜索出来的数据如下:但这不是我要的效果
ID 名称  数量A   数量B 
1  大豆  100     50       
2  绿豆  50      20       

四,我要的搜索出来的效果如下:这才是我要的效果,我应该如何去写这段代码?
ID 名称  数量A    数量B 
1  大米  200
2  高粱  100
3  小麦  500
4  大豆  100     50       
5  绿豆  50      20       



[解决办法]
select a.*,b.数量B
from a
left join (select aid,sum(数量B) as 数量B from b group by aid) as b 
on A.ID=B.AID


如果一个aid出库记录有多笔,则需要先合并,然后再关联
[解决办法]
declare @ta table (id int,nameA varchar(20),quantityA int)
insert @ta
select 
1 ,'大米', 200 union all select 
2 , '高粱', 100 union all select 
3  ,'小麦', 500 union all select 
4  ,'大豆', 100 union all select 
5  ,'绿豆', 50

declare @tb table (id int,aid int,nameB varchar(20),quantityB int)
insert @tb
select 
1 ,  4  , '大豆',  50 union all select 
2  , 5  , '绿豆',  20
select a.*,b.quantityB from @ta a
left join @tb b on a.id=b.aid 

/*查询结果
1大米200NULL
2高粱100NULL
3小麦500NULL
4大豆10050
5绿豆5020
*/

热点排行