Таблица 1: tblemployeeMYSQL: Как получить конкретные данные по table1 и получить последние данные по table2 и Table3
+------------+----------+-----------+-------+-------+
| 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 |
+------------+----------+-----------+-------+-------+---------+--------------+--------+------+------------+---------------+-------+
Вопрос: Как может Lastest BadgeNo
и AttritionDate
в одном запросе предполагается, что tblemployee
связан с tblemployeeactivity
и то же самое с tblemployee
и tblbadge
однако tblbadge
и tblemployeeactivity
не связать вместе в SQL.
Я должен получить полную информацию работника на tblemployee
и получать последние данные по каждой таблице (tblbadge
& tblemployeeactivity
), пожалуйста, см выходного плана, ТИА.
PS. Также я должен фильтровать
AttritionDate
поYear
иMonth
'Select а *, b.BadgeNo, б. Deactivation, 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 Деактивация 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 Неизвестная колонка «a.EmployeeID» в разделе «где» «a.EmpoyeeID» не распознается в разделе where –