假设有2个表A和B,A表中有字段ID和Name,B表中有字段ReporterID和HandlerID,B表中的两个ID就是根据条件将A表中的ID写入B表相应字段,现在要做一个SELECT,要在一个表内分别显示Reporter和Hanlder的Name,Name都存储在A表Name字段中,根据个人的ID来进行选择,也就是SELECT A.Name FROM A INNER JOIN B ON A.ID = B.ReporterID和SELECT A.Name FROM A INNER JOIN B ON A.ID = B.HandlerID这2个查询的结果合到一个表里去,用一个语句写出来,请问一下怎么写,谢谢! 

解决方案 »

  1.   

    select t1.name , t2.name from a t1 , a t2 , b
    where t1.id = b.reporterid and t2.id = b.handlerid
      

  2.   

    select Name from A aa
    Inner join
    (
    select ReporterID Id from B 
    Union all
    select HandlerID  from B )
    )bb
    on aa.id=bb.id
      

  3.   

    select isnull(t1.name,'') name1 , isnull(t2.name,'') name2 from b 
    left join a t1 on b.reporterid = t1.id
    left join a t2 on b.handlerid = t2.id
      

  4.   

    select Name from A aa
    Inner join
    (
    select ReporterID Id from B 
    Union
    select HandlerID  from B )
    )bb
    on aa.id=bb.id
      

  5.   

    select Name from A
    where exists(select 1 from B where  A.ID=B.ReporterID or A.ID=B.HandlerID)