现在有A表(姓名,性别,年龄).B表(姓名,爱好,地址)
比如A表中有数据  张三  男  18
                 李四  女  20
                 王五  男  18
                 郑武  女  30
                 绮思  男  18比如B表中有数据  张三  滑雪 北京
                 绮思  登山 江苏
                 李四  跑步 上海
                 绮思  登山 江苏想要: 根据A表中姓名排序B表中顺序
最好提供最简单方法.这只是例子.
谢了!

解决方案 »

  1.   

    A表姓名无任何排序规则.是人为可以更改排序的.B表也要根据A表的变化而变化
      

  2.   

    A表生成个id标识列
    B表根据姓名生成与A表一样的id
    查询B表根据ID排序就OK了
      

  3.   

    select b.*
    from
    (select *,px=row_number() over(order by getdate()) from a) a
    join b
    on a.姓名=b.姓名
    order by a.px
      

  4.   

    --(1)借用字符串进行无规律排序   
    create table #DepartMent   
    (   
     Depart varchar(10)   
    )   
    insert into #DepartMent select '组长'  
    union all select '助理'  
    union all select '总经理'  
    union all select '员工'  
    union all select '副总经理'  
    union all select '主管'  
    declare @sql varchar(100)   
    set @sql=N'总经理,副总经理,主管,组长,助理,员工'  
      
    select * from #DepartMent   
    order by charindex(N','+Depart+N',',N','+@sql+N',')  
    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ws_hgo/archive/2009/02/06/3866925.aspx
      

  5.   

    A表设个表识id 在B表中设个对应的字段
    用连接查询,根据A表中的ID 排序就行
      

  6.   

    这问题估计大家不好意思回答你!declare @A table(Name varchar(50),Gender char(2),Age int)  
    insert into @A select '李四', '女',20
    insert into @A select '王五', '男', 18  
    insert into @A select '郑武', '女', 30  
    insert into @A select '绮思', '男', 20 
    declare @B table(Name varchar(50),Hobby varchar(50),Address varchar(50)) 
    insert into @B select '绮思', '登山','江苏'
    insert into @B select '李四', '跑步', '上海'  
    insert into @B select '绮思', '登山', '江苏'  select B.* from @A A left join @B B on(A.Name=B.Name) where B.Name is not null order by A.Name
      

  7.   


    树人高明!!declare @A table(Name varchar(50),Gender char(2),Age int)  
    insert into @A select '李四', '女',20
    insert into @A select '王五', '男', 18  
    insert into @A select '郑武', '女', 30  
    insert into @A select '绮思', '男', 20 
    declare @B table(Name varchar(50),Hobby varchar(50),Address varchar(50)) 
    insert into @B select '绮思', '登山','江苏'
    insert into @B select '李四', '跑步', '上海'  
    insert into @B select '绮思', '登山', '江苏'  select b.* from (select *,px=row_number() over(order by getdate()) from @A a) a join @B b on a.Name=b.Name order by a.px
      

  8.   

    select * from tableA as a left outer join tableB as b
    on a.name=b.name
    order by a.name
      

  9.   

    在A表中增加一个ID即可WITH C AS 
    (select *,px=row_number() over(order by getdate()) from a) 
    select b.*
    from C join b on C.姓名=b.姓名  order by C.px