2张表,为父子关系表:
1 emp表 [员工]
id Name Age
1 张三 31
2 李四 28
3 王五 40
---------------------------------
2 wages表 [工资]
Emp_id wageName(工资项) wage(工资金额 )
1 基本工资 1.00
1 补助 2.00
1 津贴 3.00
2 基本工资 4.00
2 补助 5.00
2 津贴 6.00
3 基本工资 7.00
3 补助 8.00
3 津贴 9.00
-------------
要求查询得到:
id Name Age 基本工资 补助 津贴 合计
1 张三 31 1 2 3 6
2 李四 28 4 5 6 15
3 王五 40 7 8 9 24
我这样实现:
select emp.*,
'基本工资'=(select wage from wages where wages.emp_id=emp.id and ages.wageName='基本工资'),
'补助'=(select wage from wages where wages.emp_id=emp.id and wages.wageName='补助'),
'津贴'=(select wage from wages where wages.emp_id=emp.id and wages.wageName='津贴'),
'合计'=(select sum(wage) from wages where wages.emp_id=emp.id)
from emp left join wages on(emp.id=wages.emp_id)
group by id,Name,Age能得到结果,但总感觉不太理想,本人数据库一般般,请大家赐教,给出更清晰的实现~
------解决方案--------------------------------------------------------
你用的什么数据库?
当您的问题得到解答后请及时结贴.
http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5