日期:2014-05-17 浏览次数:20420 次
select 表一.班级序号,班级名称,表二.姓名,表二.语文,表三.数学,表二.语文+表三.数学 from 表一,表二,表三 where 表一.班级序号=表二.班级序号 and 表二.班级序号=表三.班级序号 and 表二.姓名=表三.姓名 order by 表一.班级序号,表二.姓名,表二.语文,表三.数学
DECLARE @a TABLE(cId INT,NAME VARCHAR(20))
insert @a select 1 ,'高三一班'
union all select 2 ,'高二三班'
union all select 3 ,'高一二班'
declare @b table(cId int,Name varchar(20),Yw int)
insert @b select 1 ,'张三', 100
union all select 1 ,'李四', 99
union all select 2 ,'王五', 98
declare @c table(cId int,Name varchar(20),Sx int)
insert @c select 1 ,'张三', 98
union all select 2 ,'王五', 87
union all select 3 ,'赵六', 60
SELECT A.cId,a.Name,c.Name Name1,Yw,Sx,Su FROM @a a LEFT JOIN (
SELECT ISNULL(b.cId,c.cId) cId,
ISNULL(b.Name,c.Name) NAME,
Yw,
Sx,
ISNULL(Yw,0)+ISNULL(Sx,0) Su
FROM @b b FULL JOIN @c c ON b.cid=c.cid AND b.name=c.name
) c ON a.cid=c.cid
--result
/*cId Name Name1 Yw Sx Su
----------- -------------------- -------------------- ----------- ----------- -----------
1 高三一班 张三 100 98 198
1 高三一班 李四 99 NULL 99
2 高二三班 &