表1
编号 姓名
01 王五
02 张三
表2
编号 工资类别 金额
01 基本工资 3000
01 奖金 1000
02 基本工资 4000
02 资金 1500
如何合成表3 如下
编号 姓名 基本工资 奖金 总工资
01 王五 3000 1000 4000
02 张三 4000 1500 5500
请问SQL语句怎么写?谢谢
select 表1.姓名 AS 姓名,
BaseSal.金额 as 基本工资,
bonus.金额 as 奖金
SumSal.金额 as 总工资
from
表1,
(Select * from 表2 where 工资类别 = 基本工资) BaseSal,
(Select * from 表2 where 工资类别 = 奖金) bonus,
(Select 编号,SUM(金额) as 金额 Form 表2 Group by 编号) SumSal
where 表1.编号 = BaseSal.编号
and BaseSal.编号 = bonus.编号
and bonus.编号 = SumSal.编号.
这个查询必要要用存诸过程或查询nest
不象楼上说的这样简单
测试通过:
select 编号, 姓名,
(select 金额 from 表2 where 工资类别=基本工资and 编号=表1.编号)as
基本工资,
(select 金额 from 表2 where 工资类别=奖金and 编号=表1.编号) as
奖金,
(select sum(金额) from table2 where 编号=表1.编号)as 总工资
from 表1
同意以上的看法
同意 hsgtiger 的看法