select a.学号,a.姓名,a.语文 as [语文(a表)],b.语文 as [语文(b表)],(select count(*)+1 from A表 where 语文<a.语文) as 名次1,(select count(*)+1 from B表 where 语文<b.语文) as 名次2 from A表 a,B表 b where a.学号=b.学号 order by a.语文
调试欢乐多
select a.学号,a.姓名,a.语文,a.数学,a.名次,b.名次 from a LEFT JOIN b ON b.学号=a.学号 GROUP BY a.学号;
试一下可以吗?我用mysql时没有问题的
,[姓名(a表)]=a.姓名
,[语文(a表)]=a.语文
,[语文(b表)]=b.语文
,[名次1(a表中的名次)]=a.名次
,[名次2(b表中的名次)]=b.名次
from(
select 学号,姓名,语文,数学
,名次=(select sum(1) from a表 where 语文+数学>=a.语文+a.数学)
from a表 a) a left join(
select 学号,姓名,语文,数学
,名次=(select sum(1) from a表 where 语文+数学>=a.语文+a.数学)
from b表 a) b on a.学号=b.学号
第一这两个表是属于两个不同的文件中即A文件中有表a,B文件中有表b
第二我是想用VB+ado来做不知能不能写出来!
第三名次是指单学科的名次,即单指语文的名次,不是语文+数学的名次!不知现在有没有说清楚,不过先谢谢大家的指点!