distinct :合并重复的记录
isnull(T2.ytd_sales,-1):如果T2.ytd_sales是null,返回-1,否则返回T2.ytd_sales

解决方案 »

  1.   

    isnull(T2.ytd_sales,-1)) 
    的意思是:检查T2.ytd_sales是否为 NULL,若伟NULL则返回-1。distinct 是返回不同的记录导出表select count(distinct isnull(T2.ytd_sales,-1)) 
                from Titles T2
                where isnull(T1.ytdsales,-1)<=isnull(T2.ytd_sales,-1)
    的意思就是:统计符合WHERE条件的记录数,但T2.ytd_sales的值为NULL的所有记录作为一条。
      

  2.   

    请参照以下实例:下面的示例为 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                      (18 row(s) affected)首先你应该分析ISNULL函数的意义.
    然后一层一层的分析。