如图,我要将表1中的考勤工资按月统计,然后再将表1与表2进行连接,这该如何操作???select 职工号,sum(考勤工资)
from 表1
where 表1.日期 like '2013-05%'
group by 职工号
这之后该如何与表2进行连接????请指教

解决方案 »

  1.   


      SELECT * FROM 表2 inner join (SELECT 职工号,SUM(考勤工资) 考勤工资
    from 表1 
    where DATEPART(M,日期)=5 GROUP BY 职工号 )
      

  2.   

    条件加上
      SELECT * FROM [表2] inner join (SELECT [职工号],SUM([考勤工资]) 考勤工资
    from [表1] where DATEPART(M,[日期])=5 GROUP BY 职工号 ) a
    WHERE [表2].[职工号]=a.[职工号]
      

  3.   


    在最后这个where附近有语法错误,这该如何解决???麻烦了
      

  4.   

    SELECT * FROM [表2] inner join (SELECT [职工号],SUM([考勤工资]) 考勤工资
    from [表1] where DATEPART(M,[日期])=5 GROUP BY 职工号 ) a
    and [表2].[职工号]=a.[职工号]他用了两个WHERE了
      

  5.   


    里面的where是嵌套在子查询里面的,你这样也是有错误
      

  6.   


    select 职工号,CONVERT(varchar(6),日期,112) as [日期],SUM(考勤工资) from 表1 left join
    表2 on 表1.职工号=表2.职工号
    group by 职工号,CONVERT(varchar(6),日期,112)
      

  7.   


    这样的话没有将工资按月统计出来
    select CONVERT(varchar(6),日期,112) as [日期],SUM(考勤工资) 
    from 表1 
    left join
    表2 on 表1.职工号=表2.职工号
    group by CONVERT(varchar(6),日期,112)