我有两个表  t1:name varchar(20),class varchar(20) ,nume1 int    t2: name varchar(20), nume2 int   如图:
有两个 排名次的sql语句:select  *,RANK() OVER (ORDER BY  nume1 desc) AS rank1  from t1
select  *,RANK() OVER (ORDER BY  nume2 desc) AS rank2  from t2 怎么样 根据 name 把两个sql 自然连接起来 
我原本是这样写的:select  t1.name,t1.class,RANK() OVER (ORDER BY  nume1 desc) AS rank1 ,nume2 ,RANK() OVER (ORDER BY  nume2 desc) AS rank2 
 from t1,t2
但是 我发现 mune2 的名次是安 连接后表里的mune2 排的 我要的是 按 第二个sql排出来的名次?
各位帮帮忙

解决方案 »

  1.   

    SELECT T1.*,T2.* FROM 
    (
    select  *,RANK() OVER (ORDER BY  nume1 desc) AS rank1  from t1
    )AS T1,
    (
    select  *,RANK() OVER (ORDER BY  nume2 desc) AS rank2  from t2
    )AS T2
    WHERE T1.NAME=T2.NAME?是连接以后再排序还是怎么?
      

  2.   

    我发现 mune2 的名次是安 连接后表里的mune2 排的 我要的是 按 第二个sql排出来的名次?不懂意思
      

  3.   

    我是我想先排序在连接,但是我那个sql 是先连接才排序的!