SELECT * FROM 表1
EXCEPT
SELECT * FROM 表2

解决方案 »

  1.   

    select * from tb1 where planinfoid not in(select planinfoid  from tb2)
      

  2.   

    SELECT A.*
    FROM tb1 AS A
        LEFT JOIN tb2 AS B
            ON A.planid=B.planid
                AND A.planinfoid=B.planinfoid
    WHERE B.planid IS NULL 
         AND B.planinfoid IS NULL
      

  3.   

    ---------------------------------
    --  Author: liangCK 小梁
    --  Date  : 2008-11-02 13:35:34
    ---------------------------------
     
    --> 生成测试数据: @tb1
    DECLARE @tb1 TABLE (id INT,planid INT,planinfoid INT,workdate DATETIME)
    INSERT INTO @tb1
    SELECT 1,3,2,'2008-10-1' UNION ALL
    SELECT 2,3,4,'2008-10-2' UNION ALL
    SELECT 3,3,6,'2008-10-3' UNION ALL
    SELECT 4,3,3,'2008-10-4' UNION ALL
    SELECT 5,3,1,'2008-10-5'
     
    --> 生成测试数据: @tb2
    DECLARE @tb2 TABLE (planid INT,planinfoid INT,workdate DATETIME)
    INSERT INTO @tb2
    SELECT 3,2,'2008-10-1' UNION ALL
    SELECT 3,4,'2008-10-2'--SQL查询如下:SELECT A.*
    FROM @tb1 AS A
        LEFT JOIN @tb2 AS B
            ON A.planid=B.planid
                AND A.planinfoid=B.planinfoid
    WHERE B.planid IS NULL 
         AND B.planinfoid IS NULL
    /*
    id          planid      planinfoid  workdate
    ----------- ----------- ----------- -----------------------
    3           3           6           2008-10-03 00:00:00.000
    4           3           3           2008-10-04 00:00:00.000
    5           3           1           2008-10-05 00:00:00.000(3 行受影响)
    */
      

  4.   

    select * from tb1 where planinfoid not in (select planinfoid from tb2)