oracle数据库里有 表 biao,有这样几列   A            B             C 
  001          002           张三
  002          003           李四
  003          001           王八在前台的时候想用datagrid显示该数据库的内容,为了让客户更明了,要求B列显示时以对应的C列的名字来显示。比如说 B列中的002,在A列中找到002对应的名字是李四,此时在B列中002的位置显示的不是002,而是李四这个名字。。
最后datagrid要求显示的形式是:
 A              B             C
001            李四          张三
002            王八          李四
003            张三          王八 请问SQL语句该怎么写? 但是如果能在dataGrid的属性里直接设置就更好了,不知道哪位高手可以指点一下,谢谢!!        

解决方案 »

  1.   

    Select t1.A, t2.C, t1.C
    From biao t1, biao t2 
    Where t1.B = t2.A
      

  2.   

    declare @biao table(A nvarchar(10),B nvarchar(10),C nvarchar(10))
    insert into @biao
    select '001','002','张三' union all
    select '002','003','李四' union all
    select '003','001','王八' union all
    select '004','','赵六' select t1.A,t2.C As B,t1.C from @biao as t1 left outer  join @biao as t2 on t1.B=t2.A
      

  3.   

    Select t1.A, t2.C, t1.C
    From swg t1, swg t2
    Where t1.B = t2.A
      

  4.   

    我解不出来,不过觉得biao的结构不合理,不如把表分成两个,用inner join来连。
      

  5.   

    设表为Table,
    select 
          'A' = a.A,
          'B' = b.C,
          'C' = a.C 
    from Table a 
    left outer join Table b 
        on a.B = b.A
      

  6.   

    好了,最后的语句实现了我要的功能,给大家看看select t.jgdm,case t.jglx 
    when '1' then '中心局'
     when '2' then '县市局'
      when '3' then '支局所'
      when '4' then '车间' 
      else '枢纽'end JGLX,
      t.jgbj,t.sszxjdm,t.jgqc,t.jgjm,t.jgjp,t.jgjc,b.jgjc as SSZXJDM1
       from tjgdm t,tjgdm b
      where t.sszxjdm = b.jgdm
    order by sszxjdm,jgdm