表A, (a int,b char,c bit) 
表B(d int,e char,f datetime)
表C(g int,h char,i char,j char)表A c字段为0 的时候 select A.*,B.e as Name from A inner join B on A.a=B.d表A c字段为1的时候 select A.*,C.h as Name from A inner join C on A.a=C.g

解决方案 »

  1.   

    when then 或case 子查询
      

  2.   

    when case  then    是改变 某个字段  比如 1变成 解决 0变成 未解决 现在是 inner join 的表 不同
    怎么写ne ?
      

  3.   

    分别建2个视图。用的时候判断:
    select @c=c from A where a=@a
    if @c=0
      begin
        ......
      end
    else
      begin
        .....
      end
      

  4.   

    存储过程的话 怎么写呢?谢谢!!!
    刚学sql server!
      

  5.   

    表A c字段为0 的时候 select A.*,B.e as Name from A inner join B on A.a=B.d表A c字段为1的时候 select A.*,C.h as Name from A inner join C on A.a=C.g=========================================================================
    select A.*,B.e as Name from A inner join B on A.a=B.d where A.c=0
    union
    select A.*,C.h as Name from A inner join C on A.a=C.g where A.c=1