本帖最后由 hwj383 于 2009-06-12 15:41:25 编辑

解决方案 »

  1.   

    select a.*,case when b.列2 is null then 'trun' else 'false' end as C
    from a left join b on a.id=B.列2
      

  2.   


    SELECT A.*,CASE WHEN EXISTS(SELECT 1 FROM B WHERE A.ID=B.列1) THEN 'TRUE' ELSE 'FALSE' END AS 'C'
    FROM A
      

  3.   

    select a.*,case when b.列2 is null then 'trun' else 'false' end as Cfrom a 
       left join b on a.id=B.列2
      

  4.   


    DECLARE @TA TABLE([ID] INT, [列1] INT, [列2] INT)
    INSERT @TA 
    SELECT 1, 1, 1 UNION ALL 
    SELECT 2, 2, 2 UNION ALL 
    SELECT 3, 3, 3 UNION ALL 
    SELECT 4, 4, 4 UNION ALL 
    SELECT 5, 5, 5DECLARE @TB TABLE([ID] INT, [列1] INT, [列2] INT)
    INSERT @TB 
    SELECT 1, 1, 1 UNION ALL 
    SELECT 2, 2, 1 UNION ALL 
    SELECT 3, 3, 1 UNION ALL 
    SELECT 4, 1, 2 UNION ALL 
    SELECT 5, 2, 2SELECT A.*,CASE WHEN A.[列1]=B.[列1] THEN 'true' ELSE 'false' END AS C
    FROM @TA AS A LEFT JOIN (SELECT * FROM @TB WHERE 列2=1) AS B 
      ON A.[列1]=B.[列1]
    /*
    ID          列1          列2          C
    ----------- ----------- ----------- -----
    1           1           1           true
    2           2           2           true
    3           3           3           true
    4           4           4           false
    5           5           5           false
    */
      

  5.   

    DECLARE @TA TABLE([ID] INT, [列1] INT, [列2] INT)
    INSERT @TA 
    SELECT 1, 1, 1 UNION ALL 
    SELECT 2, 2, 2 UNION ALL 
    SELECT 3, 3, 3 UNION ALL 
    SELECT 4, 4, 4 UNION ALL 
    SELECT 5, 5, 5DECLARE @TB TABLE([ID] INT, [列1] INT, [列2] INT)
    INSERT @TB 
    SELECT 1, 1, 1 UNION ALL 
    SELECT 2, 2, 1 UNION ALL 
    SELECT 3, 3, 1 UNION ALL 
    SELECT 4, 1, 2 UNION ALL 
    SELECT 5, 2, 2declare @a int
    set @a=1
    select A.ID,列1,列2,c from @TA A, (select row_number() over (order by getdate()) id,case when 列2=@a then 'true' else 'false' end c from @tb) tmp where A.id=tmp.id
    ID          列1          列2          c
    ----------- ----------- ----------- -----
    1           1           1           true
    2           2           2           true
    3           3           3           true
    4           4           4           false
    5           5           5           false(5 行受影响)
      

  6.   


    select a.*,case when b.列2 is null then 'trun' else 'false' end as C
    from a left join b on a.id=B.列2
      

  7.   


    if object_id('a') is not null drop table a
    create table a(ID int,列1 int, 列2 int)
    insert a
    select 1,1,1
    union all select 2,2,2
    union all select 3,3,3
    union all select 4,4,4
    union all select 5,5,5if object_id('b') is not null drop table b
    create table b (ID int,列1 int, 列2 int)
    insert b
    select 1,1,1
    union all select 2,2,1
    union all select 3,3,1
    union all select 4,1,2
    union all select 5,2,2
    SELECT A.*,CASE WHEN EXISTS(SELECT 1 FROM B WHERE A.ID=B.列1) THEN 'TRUE' ELSE 'FALSE' END AS 'C'
    FROM A
    /*
    1 1 1 TRUE
    2 2 2 TRUE
    3 3 3 TRUE
    4 4 4 FALSE
    5 5 5 FALSE  */
      

  8.   


    create table A ([ID] INT, [列1] INT, [列2] INT)
    INSERT A 
    SELECT 1, 1, 1 UNION ALL 
    SELECT 2, 2, 2 UNION ALL 
    SELECT 3, 3, 3 UNION ALL 
    SELECT 4, 4, 4 UNION ALL 
    SELECT 5, 5, 5create table B ([ID] INT, [列1] INT, [列2] INT)
    INSERT B 
    SELECT 1, 1, 1 UNION ALL 
    SELECT 2, 2, 1 UNION ALL 
    SELECT 3, 3, 1 UNION ALL 
    SELECT 4, 1, 2 UNION ALL 
    SELECT 5, 2, 2
    如果表相符,直接运行以下SQL
    select M.*,case when N.列1 is null then 'false' else 'ture' end
    from
    (select* from A) M  left join
    (select * from B where 列2=1) N
    on M.ID=N.ID
      

  9.   

    if object_id('a') is not null drop table a
    create table a(ID int,列1 int, 列2 int)
    insert a
    select 1,1,1 union all
    select 2,2,2 union all
    select 3,3,3 union all
    select 4,4,4 union all
    select 5,5,5if object_id('b') is not null drop table b
    create table b (ID int,列1 int, 列2 int)
    insert b
    select 1,1,1 union all
    select 2,2,1 union all
    select 3,3,1 union all
    select 4,4,2 union all
    select 5,5,2SELECT A.*,C=(CASE WHEN EXISTS(SELECT 1 FROM B WHERE A.ID=B.列1 AND B.列2=1) THEN 'TRUE' ELSE 'FALSE' END)
    FROM AID          列1          列2          C
    ----------- ----------- ----------- -----
    1           1           1           TRUE
    2           2           2           TRUE
    3           3           3           TRUE
    4           4           4           FALSE
    5           5           5           FALSE(5 行受影响)