Я пытаюсь создать простой трекер, используя mysql и php.Пользователь может ввести данные в таблицу tracker
, и они будут сразу добавлены в таблицу tracker
и statusmapping
.
Позже пользователь может изменить «статус», который затем будет добавлен (не обновлен) в таблицу statusmapping
.
Я хочу объединить эти две таблицы и получить вывод.Когда я получаю выходные данные, я хочу получить последние вставленные данные из таблицы statusmapping
для данного идентификатора.
Моя tracker
таблица
+------------+---------+------------+----------------------+------------------------------------------------------+----------------------+
| tracker_id | tasksid | pagenameid | tracker_summary | tracker_comment | tracker_created_date |
+------------+---------+------------+----------------------+------------------------------------------------------+----------------------+
| 14 | 2 | 8 | some summary | some comment to display for the buggy page. | 2018-10-14 13:05:31 |
| 15 | 4 | 4 | revision for the faq | revision for the faq page and the comment goes here. | 2018-10-14 14:09:27 |
+------------+---------+------------+----------------------+------------------------------------------------------+----------------------+
и statusmapping
таблица,Второй столбец trackerid
- это FK
для таблицы tracker
.
+------------------+-----------+----------+---------------------+----------------------+
| statusmapping_id | trackerid | statusid | statusmapping_date | statusmapping_reason |
+------------------+-----------+----------+---------------------+----------------------+
| 4 | 14 | 1 | 2018-10-14 13:05:31 | Newly opened! |
| 5 | 14 | 2 | 2018-10-14 13:34:04 | This issue is closed |
| 6 | 15 | 1 | 2018-10-14 14:09:27 | Newly opened! |
+------------------+-----------+----------+---------------------+----------------------+
Пока я пробовал это.Я получаю NULL
для столбца statusid
.Но последний вставленный идентификатор - 2
в таблице statusmapping
.Как я могу получить это.
SELECT
trk.tracker_id,
trk.tracker_summary, trk.tracker_comment,
stm.statusid
FROM trackers trk
LEFT JOIN statusmapping stm ON trk.tracker_id = (SELECT MAX(trackerid) FROM `statusmapping`)
GROUP BY trk.tracker_id
Это вывод.
+------------+----------------------+------------------------------------------------------+----------+
| tracker_id | tracker_summary | tracker_comment | statusid |
+------------+----------------------+------------------------------------------------------+----------+
| 14 | some summary | some comment to display for the buggy page. | NULL |
| 15 | revision for the faq | revision for the faq page and the comment goes here. | 1 |
+------------+----------------------+------------------------------------------------------+----------+