【发布时间】:2020-07-16 02:57:09
【问题描述】:
我有两张桌子。
第一个表称为 Employee
|EID|姓名|工资 | ========================== |1 |A |300 | |2 |B |400 | |3 |O |500 |第二张表称为 Employee_Sal_Changes
|EID| Salary_Change_History|年 ======================================== |1 |100 |2012 |1 |200 |2013 |1 |300 |2014 |2 |200 |2013 |2 |400 |2014 |3 |100 |2011 |3 |200 |2012 |3 |300 |2013 |3 |500 |2014在我的前端表上,我想展示
id |薪资变动历史 | ================================== 一个 | 100:2012 | | 200:2013 | | 300:2014 | ================================== 乙| 200:2013 | | 400:2014 | ================================== ○ | 100:2011 | | 200:2012 | | 300:2013 | | 400:2014 | ==================================我想将salary_change_history 和year 匹配到EID 并使用循环将它们显示在前端。
为了获得这些,我尝试使用 group_concat 将它们存储在一个数组中,但它只获取 EID = 1 的值
这是后端的查询
Select
(select Group_Concat(Employee_Sal_Changes.Salary_Change_History),(Group_Concat(Employee_Sal_Changes.year) from Employee_Sal_Changes left join Employee on Employee_Sal_Changes.EID = Employee.EID),
Employee.EName
From Employee_Sal_Changes
有更好的方法还是继续使用 group_concat?
【问题讨论】:
标签: mysql sql group-by group-concat