用MYSQL行转列。

李晶宝 2011-08-25 11:00:24
如题用MYSQL将这两个表行转列,要求变成如下一个表
员工ID 开始日期 结束日期 基本工资 职务津贴 工龄津贴 绩效奖
10001 2010-10-1 2010-10-31 1100 2200
用存储过程也可以,用一条SQL也可以,前提就是不要写死了。如下是两个表。

薪资结构项目表
项目ID, 项目名称, 项目类型
1 基本工资 数值型
2 职务津贴 数值型
3 工龄津贴 数值型
4 绩效奖 数值型

员工薪资表
员工ID 开始日期, 结束日期, 项目ID, 项目值
10001 2010-10-1 2010-10-31 1 1100
10001 2010-10-1 2010-10-31 2 2200

...全文
134 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zn85600301 2011-08-25
  • 打赏
  • 举报
回复
你百度下 我记得以前有人发过这种帖子 其中mysql的行转列是用递归写的 是亮点~
gsy999 2011-08-25
  • 打赏
  • 举报
回复
[Quote=引用楼主 mmfaceone 的回复:]
如题用MYSQL将这两个表行转列,要求变成如下一个表
员工ID 开始日期 结束日期 基本工资 职务津贴 工龄津贴 绩效奖
10001 2010-10-1 2010-10-31 1100 2200
用存储过程也可以,用一条SQL也可以,前提就是不要写死了。如下是两个表。

薪资结构项目表
项目ID, 项目名称, 项目类型
1 基本工资 数值型
2 职务津贴 数值型
3 工……
[/Quote]
基本思路:
设:员工薪资表为a,薪资结构项目表为b
select a.员工ID as 员工ID, a.开始日期 as 开始日期,a.结束日期 as 结束日期,b.基本工资 as 基本工资,b.职务津贴 as 职务津贴,b.工龄津贴 as 工龄津贴,b.绩效奖 as 绩效奖
from a,b
where a.项目ID=b.项目ID


67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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