select * from [表一] where [型号] not in (select [型号] from [表二])

解决方案 »

  1.   

    ----------------------------------------------------------------
    -- Author  :DBA_HuangZJ(发粪涂墙)
    -- Date    :2014-04-30 14:28:58
    -- Version:
    --      Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) 
    -- Apr  2 2010 15:48:46 
    -- Copyright (c) Microsoft Corporation
    -- Enterprise Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: ) (Hypervisor)
    --
    ----------------------------------------------------------------
    --> 测试数据[A]
    if object_id('[A]') is not null drop table [A]
    go 
    create table [A]([型号] nvarchar(2),[数量] int)
    insert [A]
    select 'A',10 union all
    select 'B',5 union all
    select 'C',8
    --> 测试数据[B]
    if object_id('[B]') is not null drop table [B]
    go 
    create table [B]([型号] nvarchar(2),[数量] int)
    insert [B]
    select 'A',10 union all
    select 'C',8
    --------------生成数据--------------------------select * from [A]
    EXCEPT
    select * from [B]
    ----------------结果----------------------------
    /* 
    型号   数量
    ---- -----------
    B    5
    */
      

  2.   

    思路可以,不过严谨一点的话,用not exists来判断两列的关系更好。光型号不一定能唯一标识。
      

  3.   

    嗯嗯,确实如此最后还是用了 not exists ,如果想在下面的where 再加个条件 T1.[TrgetEntry] is not null  能否和not exists 条件并列?SELECT T0.[DocNum],T1.[DocDate],T0.[CardName],T1.[ItemCode],T1.[CodeBars],T1.[Dscription],T1.[Quantity]库存转储请求数量,T1.[Price]价格 FROM OWTQ T0 INNER JOIN WTQ1 T1 ON T0.DocEntry = T1.DocEntry LEFT JOIN OWTR T2 ON T0.[CardCode]=T2.[CardCode] AND  T1.[TrgetEntry]=T2.DocEntry WHERE  NOT EXISTS (SELECT * FROM WTR1 T3  WHERE T0.DocEntry=T3.[BaseEntry] AND T1.ITEMCODE=T3.ITEMCODE )   
      

  4.   

    嗯嗯,确实如此最后还是用了 not exists ,如果想在下面的where 再加个条件 T1.[TrgetEntry] is not null  能否和not exists 条件并列?SELECT T0.[DocNum],T1.[DocDate],T0.[CardName],T1.[ItemCode],T1.[CodeBars],T1.[Dscription],T1.[Quantity]库存转储请求数量,T1.[Price]价格 FROM OWTQ T0 INNER JOIN WTQ1 T1 ON T0.DocEntry = T1.DocEntry LEFT JOIN OWTR T2 ON T0.[CardCode]=T2.[CardCode] AND  T1.[TrgetEntry]=T2.DocEntry WHERE  NOT EXISTS (SELECT * FROM WTR1 T3  WHERE T0.DocEntry=T3.[BaseEntry] AND T1.ITEMCODE=T3.ITEMCODE )   
    可以加的啊,你自己测试下不就知道了