select id,'0'(这里如何写?) flag t1 id  flag
1    1
2    0
3    1
...表t2
tid
13我想查询表1,随便判断一下表2是否有表1 ID的纪录
比如有ID 1  的纪录 那么flag 为1 否则为0

解决方案 »

  1.   

    select id, flag=(case when exists(select 1 from T2 where tid=tmp.id) then 1 else 0 end)
    from T1 as tmp
      

  2.   


    create table T1(id int)
    insert T1 select 1
    insert T1 select 2
    insert T1 select 3
    go
    create table T2(tid int)
    insert T2 select 1
    insert T2 select 3
    goselect id, flag=(case when exists(select 1 from T2 where tid=tmp.id) then 1 else 0 end)
    from T1 as tmp--result
    id          flag        
    ----------- ----------- 
    1           1
    2           0
    3           1(3 row(s) affected)