select 站号 ,项目名称 ,sum(工时) ,count(*) as 次数 from a,b where a.项目名称=b.项目名称 group by 站号 ,项目名称

解决方案 »

  1.   

    select tba.站号,tba.项目名称 ,tbb.工时 ,tba.次数
    from
    (select 站号,项目名称,count(项目名称) as 次数
    from 表A
    where 完成日期 is null
    group by 站号,项目名称) as tba,表B tbb
    where  tba.项目名称 = tbb.项目名称
      

  2.   


    select tba.站号,tba.项目名称 ,tbb.工时 * tba.次数 ,tba.次数
    from
    (select 站号,项目名称,count(项目名称) as 次数
    from 表A
    where 完成日期 is null
    group by 站号,项目名称) as tba,表B tbb
    where  tba.项目名称 = tbb.项目名称
      

  3.   

    呵呵。我试过了,语句没报错,但是执行结果不对。我的数据库中现有1条记录的完成日期为空,
    如果
    select 站号,项目名称,count(项目名称) as 次数 from 历史记录 where 完成日期 is null group by 站号,项目名称
    显示记录数为1,是正确的,
    但是
    select tb.站号,tb.项目名称,tb.次数 from (select 站号,项目名称,count(项目名称) as 次数 from 历史记录 where 完成日期 is null group by 站号,项目名称) as tb,项目表 where tb.项目名称 = 项目表.项目名称"
    显示记录数为0,不知可能是什么原因?