sql server中该如何连接两个这两个表

liubiao287 2013-05-19 08:47:45




如图,我要将表1中的考勤工资按月统计,然后再将表1与表2进行连接,这该如何操作???

select 职工号,sum(考勤工资)
from 表1
where 表1.日期 like '2013-05%'
group by 职工号


这之后该如何与表2进行连接????请指教
...全文
307 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
daiyueqiang2045 2013-05-20
  • 打赏
  • 举报
回复
引用 8 楼 u010428330 的回复:
[quote=引用 7 楼 tangguangqiang 的回复:]

select 职工号,CONVERT(varchar(6),日期,112) as [日期],SUM(考勤工资) from 表1 left join
表2 on 表1.职工号=表2.职工号
group by 职工号,CONVERT(varchar(6),日期,112)
这样的话没有将工资按月统计出来[/quote]
select CONVERT(varchar(6),日期,112) as [日期],SUM(考勤工资) 
from 表1 
left join
表2 on 表1.职工号=表2.职工号
group by CONVERT(varchar(6),日期,112)
liubiao287 2013-05-20
  • 打赏
  • 举报
回复
引用 7 楼 tangguangqiang 的回复:

select 职工号,CONVERT(varchar(6),日期,112) as [日期],SUM(考勤工资) from 表1 left join
表2 on 表1.职工号=表2.职工号
group by 职工号,CONVERT(varchar(6),日期,112)
这样的话没有将工资按月统计出来
习惯性蹭分 2013-05-19
  • 打赏
  • 举报
回复

select 职工号,CONVERT(varchar(6),日期,112) as [日期],SUM(考勤工资) from 表1 left join
表2 on 表1.职工号=表2.职工号
group by 职工号,CONVERT(varchar(6),日期,112)
liubiao287 2013-05-19
  • 打赏
  • 举报
回复
引用 5 楼 QQ83707594 的回复:
SELECT * FROM [表2] inner join (SELECT [职工号],SUM([考勤工资]) 考勤工资 from [表1] where DATEPART(M,[日期])=5 GROUP BY 职工号 ) a and [表2].[职工号]=a.[职工号] 他用了两个WHERE了
里面的where是嵌套在子查询里面的,你这样也是有错误
QQ83707594 2013-05-19
  • 打赏
  • 举报
回复
SELECT * FROM [表2] inner join (SELECT [职工号],SUM([考勤工资]) 考勤工资 from [表1] where DATEPART(M,[日期])=5 GROUP BY 职工号 ) a and [表2].[职工号]=a.[职工号] 他用了两个WHERE了
liubiao287 2013-05-19
  • 打赏
  • 举报
回复
引用 2 楼 ForFumm 的回复:
条件加上
  SELECT * FROM [表2] inner join (SELECT [职工号],SUM([考勤工资]) 考勤工资
from [表1] where DATEPART(M,[日期])=5 GROUP BY 职工号 ) a
WHERE [表2].[职工号]=a.[职工号]
在最后这个where附近有语法错误,这该如何解决???麻烦了
liubiao287 2013-05-19
  • 打赏
  • 举报
回复
引用 1 楼 ForFumm 的回复:
  SELECT * FROM 表2 inner join (SELECT 职工号,SUM(考勤工资) 考勤工资
from 表1 
where DATEPART(M,日期)=5 GROUP BY 职工号 )
很是感谢呀.........但是这条语句在最后这个括号报了一个错,还想问一下,这是哪里的原因?
ForFumm 2013-05-19
  • 打赏
  • 举报
回复
条件加上
  SELECT * FROM [表2] inner join (SELECT [职工号],SUM([考勤工资]) 考勤工资
from [表1] where DATEPART(M,[日期])=5 GROUP BY 职工号 ) a
WHERE [表2].[职工号]=a.[职工号]
ForFumm 2013-05-19
  • 打赏
  • 举报
回复
  SELECT * FROM 表2 inner join (SELECT 职工号,SUM(考勤工资) 考勤工资
from 表1 
where DATEPART(M,日期)=5 GROUP BY 职工号 )

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧