select a.id, a.col1, a.col2, a.col3, b.col1 from a,b where a.id = b.id and a.col3 = b.col3 and (a.col3 is not null or b.col3 is not null)

解决方案 »

  1.   

    我的意思是,a.col3为空,同时b.col3也为空。
      

  2.   

    select a.id, a.col1, a.col2, a.col3, b.col1 from a,b where a.id = b.id and isnull(a.col3,'') = isnull(b.col3,'')
    未测试,你试一下
      

  3.   

    select a.id, a.col1, a.col2, a.col3, b.col1 from a,b where a.id = b.id and a.col3 = b.col3 and ((a.col3 is not null and b.col3 is not null) or (a.col3 is null and b.col3 is null))
      

  4.   

    刚才错了,应是这样:
    select a.id, a.col1, a.col2, a.col3, b.col1 from a,b where a.id = b.id and ((a.col3 is null and b.col3 is null) or a.col3 = b.col3 )
      

  5.   

    该用czwwh(沙.月)的方法,还是lym51(老玉米)的方法?
      

  6.   

    select a.id, a.col1, a.col2, a.col3, b.col1 from a,b where a.id = b.id 
    and isnull(a.col3,0) =isnull( b.col3,0)
      

  7.   

    isnull(a.col3,0) =isnull( b.col3,0)请问这是什么意思?
      

  8.   

    ISNULL
    使用指定的替换值替换 NULL。语法
    ISNULL ( check_expression , replacement_value ) 参数
    check_expression将被检查是否为 NULL的表达式。check_expression 可以是任何类型的。replacement_value在 check_expression 为 NULL时将返回的表达式。replacement_value 必须与 check_expresssion 具有相同的类型。 返回类型
    返回与 check_expression 相同的类型。注释
    如果 check_expression 不为 NULL,那么返回该表达式的值;否则返回 replacement_value。示例
    A. 将 ISNULL 与 AVG 一起使用
    下面的示例查找所有书的平均价格,用值 $10.00 替换 titles 表的 price 列中的所有 NULL 条目。USE pubs
    GO
    SELECT AVG(ISNULL(price, $10.00))
    FROM titles
    GO下面是结果集:-------------------------- 
    14.24                      (1 row(s) affected)B. 使用 ISNULL
    下面的示例为 titles 表中的所有书选择书名、类型及价格。如果一个书名的价格是 NULL,那么在结果集中显示的价格为 0.00。USE pubs
    GO
    SELECT SUBSTRING(title, 1, 15) AS Title, type AS Type, 
       ISNULL(price, 0.00) AS Price
    FROM titles
    GO下面是结果集:Title           Type         Price          
    --------------- ------------ -------------------------- 
    The Busy Execut business     19.99                      
    Cooking with Co business     11.95                      
    You Can Combat  business     2.99                       
    Straight Talk A business     19.99                      
    Silicon Valley  mod_cook     19.99                      
    The Gourmet Mic mod_cook     2.99                       
    The Psychology  UNDECIDED    0.00                       
    But Is It User  popular_comp 22.95                      
    Secrets of Sili popular_comp 20.00                      
    Net Etiquette   popular_comp 0.00                       
    Computer Phobic psychology   21.59                      
    Is Anger the En psychology   10.95                      
    Life Without Fe psychology   7.00                       
    Prolonged Data  psychology   19.99                      
    Emotional Secur psychology   7.99                       
    Onions, Leeks,  trad_cook    20.95                      
    Fifty Years in  trad_cook    11.95                      
    Sushi, Anyone?  trad_cook    14.99                      
      

  9.   

    ISNULL 不会改变数据库中的数据吧?
      

  10.   

    select a.id, a.col1, a.col2, a.col3, b.col1 from a,b where a.id = b.id and a.col3 = b.col3 and isnull(a.col3, '') <> '' and isnull(b.col3, '') <> ''
      

  11.   

    select a.id, a.col1, a.col2, a.col3, b.col1 from a,b where a.id = b.id and a.col3 *= b.col3
    这个最简单了!!
      

  12.   

    a.col3 *= b.col3
    能给我解释一下吗? 
      

  13.   

    楼主,被你撞对了,其他人都进入了你的误区,你的前提是两者相等
    那就是说当两者都是null时,=号已不起作用,所以也就不用考虑这种情况了
      

  14.   

    当SET ANSI_NULLS  ON时:null=null 成立
    当SET ANSI_NULLS  OFF时:null=null 不成立