where b.产品描述 is null
a、b产品描述相等但不为空的被排除了啊,有什么问题?

解决方案 »

  1.   

    描述字段拿来join。。直接换掉吧。用编码产品码,当然具体看你自己的业务
      

  2.   


    这个没办法了,拿到的数据只能是这个样子。
    比如 字段A=N‘我我我我’ 这样加个前缀N就能让数据库按unicode编码来对比,上面那个语句能不能也为系统指定对比方式呢?
      

  3.   


    这个查出来应该是所有没有匹配上的数据行,但是按这个结果回到 table原表里面去搜 都能找到……所以说这个结果不准
      

  4.   

    select a.产品描述,a.产品码,a.录入型号编码,
     from [##table] a left join (select * from [table]  where 录入型号编码  is null) b  
    on isnull(a.产品描述,'')=isnull(b.产品描述,'')   where b.产品描述 is null
      

  5.   

    a、b产品描述都为空时,逻辑表达式 NULL = NULL 的结果既不是 Ture 也不是 False。
    所以可空的字段时不能用来直接比较的。
    要找同时为空的行应该是
    select a.产品描述,a.产品码,a.录入型号编码,
      from [##table] a,
           (select * from [table]  where 录入型号编码  is null) b  
     WHERE a.产品描述 IS NULL
       AND b.产品描述 IS NULL
    至于什么叫“所有没有匹配上的数据行”,按照你的语句无法理解,请用数据举例。