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

求组合表的sql语句解决思路

2012-04-15 
求组合表的sql语句表a和b,结构一样,a内有列“名称”和“数量1”,b内有列“名称”和“数量2”,求将表a和表b组成表c(

求组合表的sql语句
表a和b,结构一样,a内有列“名称”和“数量1”,b内有列“名称”和“数量2”,求将表a和表b组成表c(表c中有列“名称”、“数量1”和数量2),结果如下:
表a
名称 数量1
篮球 2
足球 3
羽毛球 1

表b
名称 数量2
篮球 4
足球 4
乒乓球 2

将以上两个表组合后为
表c
名称 数量1 数量2
篮球 2 4
足球 3 4
羽毛球 1 0
乒乓球 0 2

请问实现以上组合功能的sql语句如何写?



[解决办法]

SQL code
--> 测试数据:[表a]if object_id('[表a]') is not null drop table [表a]create table [表a]([名称] varchar(6),[数量1] int)insert [表a]select '篮球',2 union allselect '足球',3 union allselect '羽毛球',1--> 测试数据:[表b]if object_id('[表b]') is not null drop table [表b]create table [表b]([名称] varchar(6),[数量2] int)insert [表b]select '篮球',4 union allselect '足球',4 union allselect '乒乓球',2select isnull(a.名称,b.名称) as 名称,isnull(a.数量1,0) 数量1,isnull(b.数量2,0) as 数量2 from [表a] a full join [表b] b on a.名称=b.名称/*名称    数量1    数量2篮球    2    4足球    3    4羽毛球    1    0乒乓球    0    2*/ 

热点排行