“select datalength(table1.text)+sum(datalength(table2.text))  from table1 join table2 on table1.case_id=table2.case_id where atble1.startdate>'2000-01-01' and table1.enddate<'2001-11-11' group by table1.clerk_id”,不行。 

解决方案 »

  1.   

    select datalength(table1.text)+sum(datalength(table2.text)) where startdate>'2000-01-01' and enddate<'2001-11-11' group by table1.clerk_id
    这是怎么回事?FROM都没有?
    这样:select table1.clerk_id,isnull(datalength(min(table1.text)),0)+
        isnull(sum(isnull(datalength(table2.text),0)),0)
    from table1,table2
    where table1.case_id=table2.case_id
        and startdate>'2001-01-01' and enddate<'2001-11-11'
    group by table1.cleak_id
      

  2.   

    to icevi(按钮工厂):
    如果表2中没有case_id=2的纪录,则table1.clerk_id,isnull(datalength(min(table1.text)),0)+isnull(sum(isnull(datalength(table2.text),0)),0)为空,并不为0。我理解isnull是有记录为空值有作用,但无纪录时没有作用。
      

  3.   

    哦,你说的是这个意思啊,那就这样吧:
    select table1.clerk_id,isnull(datalength(min(table1.text)),0)+
        isnull(sum(isnull(datalength(table2.text),0)),0)
    from table1 left join table2 on table1.case_id=table2.case_id
    where startdate>'2001-01-01' and enddate<'2001-11-11'
    group by table1.cleak_id 
    这样应该可以了。