有A表和B表
A:ID,Name,Add,Tel,Time
B:ID,AID,Name
B的AID是外键
现要查询出A表的所有信息,其中有一个一段来自于B表的Name(记录可能不止一条)
并且排序

解决方案 »

  1.   

    select A.* from A,B where A.id=B.Aid
      

  2.   

    select A.* from A,B where A.id=B.Aid
      

  3.   

    select a.* , b.* from a , b where a.id = b.aid
      

  4.   


    select a.* , b.Name from a , b where a.id = b.aid
    order by a.id
      

  5.   


    select a.*,b.namefrom a left join b on a.id=b.id 
    order by a.id
      

  6.   


    select top 10 a.*,b.name from a right join b on a.id=b.id 
    order by a.id
      

  7.   


    select ID,Name,Add,Tel,Time, AID,Name  from a left join b  on a._id=b.a_id 
      

  8.   

    select top 10 a.* , b.* from a , b where a.id = b.aid order by a.id
      

  9.   


    select top 10 a.* , b.* from a , b where a.id = b.aid order by a.id
      

  10.   

    以上各位说的确实不错
    但是如果B表中没有A的相应的记录
    这样A表的那条记录就会被剔除了如果B表中不存在A的相应的记录,也要查询出来
      

  11.   


    select a.* , b.id from a inner join b on a.id = b.aid where b.aid in ( select top 10 a.id FROM a ) order by a.id
      

  12.   

    找了好长时间
    终于等到正确答案了select * from PE_Interview left join 
    (select Interview_ID, [names]=stuff((select ','+[name] from PE_Interview_Guest t where Interview_ID=PE_Interview_Guest.Interview_ID for xml path('')), 1, 1, '') 
    from PE_Interview_Guest 
    group by Interview_ID)  guest on(PE_Interview.id=guest.Interview_ID)