表1的最新数据:tblemployeeMYSQL:如何获得table1的具体数据和获得对表2和表3
+------------+----------+-----------+-------+-------+
| EmployeeID | LastName | FirstName | ID_SC | ID_ES |
+------------+----------+-----------+-------+-------+
| 100000000 | Vallente | Rhea Mae | 7 | 2 |
+------------+----------+-----------+-------+-------+
| 100000001 | Margallo | Matt | 7 | 2 |
+------------+----------+-----------+-------+-------+
表2:tblbadge
+---------+------------+--------------+--------+------+
| BadgeNo | EmployeeID | Deactivation | ID_Rem | ID_S |
+---------+------------+--------------+--------+------+
| 1111111 | 100000001 | 2015-01-02 | 9 | 2 |
+---------+------------+--------------+--------+------+
| 2222222 | 100000001 | 2014-01-02 | 9 | 2 |
+---------+------------+--------------+--------+------+
表3 :tblemployeeactivity
+------------+------------+---------------+-------+
| EmployeeID | ADate | AttritionDate | ID_AT |
+------------+------------+---------------+-------+
| 100000001 | 2015-01-01 | 2015-01-02 | 1 |
+------------+------------+---------------+-------+
| 100000001 | 2014-01-01 | 2014-01-02 | 1 |
+------------+------------+---------------+-------+
输出计划:
+------------+----------+-----------+-------+-------+---------+--------------+--------+------+------------+---------------+-------+
| EmployeeID | LastName | FirstName | ID_SC | ID_ES | BadgeNo | Deactivation | ID_Rem | ID_S | ADate | AttritionDate | ID_AT |
+------------+----------+-----------+-------+-------+---------+--------------+--------+------+-----------------------+----+-------+
| 100000001 | Margallo | Matt | 7 | 2 | 1111111 | 2015-01-02 | 9 | 2 | 2015-01-01 | 2015-01-02 | 1 |
+------------+----------+-----------+-------+-------+---------+--------------+--------+------+------------+---------------+-------+
问:如何在一个查询最新的BadgeNo
和AttritionDate
假设tblemployee
链接到tblemployeeactivity
与tblemployee
和tblbadge
然而tblbadge
和tblemployeeactivity
不链接在一起也一样在SQL中。
我得对tblemployee
员工的全部细节,并获取每个表(tblbadge
& tblemployeeactivity
)的最新数据,请参见输出计划,TIA。
PS。我也有过滤
AttritionDate
由Year
和Month
'选择一个*,b.BadgeNo,B。取消激活,b.ID_Rem,b.ID_S,c.ADate,c.AttritionDate,c.ID_AT FROM tblemployee a, (SELECT BadgeNo,Deactivation,ID_Rem,ID_S FROM tblbadge WHERE EmployeeID = a.EmployeeID ORDER BY Deactivation DESC LIMIT 1 )b , (SELECT ADate,AttritionDate,ID_AT FROM tblemployeeactivity WHERE EmployeeID = a.EmployeeID ORDER BY AttritionDate DESC LIMIT 1)c'可能不是最好的方法,但给一个镜头。 – Matt
SQLSTATE [42S22]:未找到列:1054'where子句'中的未知列'a.EmployeeID' 'a.EmpoyeeID'在where子句中未被识别 –