有下面三张表:工资项目表
Id 项目名 初始值
1 标准工资 1200
2 浮动工资 200
员工表
id 姓名 性别 年龄
1 a君 男 21
2 b女 女 22
3 c君 男 23 工资表
Id 员工Id 项目Id 钱
1 1 1 1200
2 1 2 2365
3 2 1 500
4 2 2 6546
5 3 1 1200
6 3 2 0 要查的结果
姓名 性别 标准工资 浮动工资
a君 男 1200 2365
b女 女 500 6546
c君 男 1200 0 请高手帮忙,谢谢!!!!!!!!!!!
Id 项目名 初始值
1 标准工资 1200
2 浮动工资 200
员工表
id 姓名 性别 年龄
1 a君 男 21
2 b女 女 22
3 c君 男 23 工资表
Id 员工Id 项目Id 钱
1 1 1 1200
2 1 2 2365
3 2 1 500
4 2 2 6546
5 3 1 1200
6 3 2 0 要查的结果
姓名 性别 标准工资 浮动工资
a君 男 1200 2365
b女 女 500 6546
c君 男 1200 0 请高手帮忙,谢谢!!!!!!!!!!!
解决方案 »
- 关于用户控件状态问题
- DataGrid显示新闻列表,怎样把前三条新闻后面后最新新闻图片标记?
- 急。。。。。。。。关于iframe Web页传值问题
- 我如何在datagrid中加入radiobuttonlist,radiobuttonlist有三个值,未审核,同意,不同意。我如何将数据库的数据赋给它呢?让它的状态ch
- 有个好像很老套的问题还是在困惑着我
- 各位帮忙,如何不显示table的四周边框!!
- 高手看下~
- MVC使用EF CODE FIRST发布后,如何迁移数据库
- vs2010点击“执行”出现“我的asp.net应用程序”界面
- 请教几个ASP.NET术语的中文翻译。安全体系方面的。
- 求一则过滤hmtl标签的正则表达式
- 如何创建asp,用什么工具创建asp?
(select top 1 钱 from 工资表 where 员工表.id=工资表.员工Id and 项目Id=1) as 标准工资,
(select top 1 钱 from 工资表 where 员工表.id=工资表.员工Id and 项目Id=2) as 浮动工资 from 员工表
select a.姓名,a.性别,b.标准工资,b.浮动工资 from 工资项目表 as b inner join 工资表 as c on (c.项目id=b.id)
inner join 员工表 as a on (c.员工id=a.id)
sum(case a.项目Id when 1 then a.钱 else 0 end) as 标准工资,
sum(case a.项目Id when 2 then a.钱 else 0 end) as 浮动工资
from 工资表 as a inner join
员工表 as b on a.员工id=b.id inner join
工资项目表 as c on a.项目Id =c.id
group by b.姓名,b.性别
你这个后续应该还有月份的需求吧?
select b.姓名,b.性别,convert(nvarchar(7),b.日期,120) as 月份
sum(case a.项目Id when 1 then a.钱 else 0 end) as 标准工资,
sum(case a.项目Id when 2 then a.钱 else 0 end) as 浮动工资
from 工资表 as a inner join
员工表 as b on a.员工id=b.id inner join
工资项目表 as c on a.项目Id =c.id
group by b.姓名,b.性别,convert(nvarchar(7),b.日期,120)