У меня есть две таблицы в базе данных MySQL:
service_id |userid | service_name | pending | accepted|completed
-----------+------------+--------------+----------+---------+--------
1 | 1 | Spa | 1 |0 |0
2 | 2 | Cleaning | 0 |1 |0
3 | 3 | General | 1 |0 |0
id | service_id | Userid | status | accepted_date
----+---------------+--------+--------------+---------------
1 | 1 | 1 | Pending | 2018/03/02
2 | 2 | 2 | Pending | 2018/03/02
3 | 2 | 2 | Accepted | 2018/03/05
4 | 3 | 3 | Pending | 2018/03/06
service_id | service_name | userid| Status | Date
-----------+----------------+-------+------------+------------+---------
1 | Spa | 1 | Pending | 2018/03/02
2 | Cleaning | 2 | Accepted | 2018/03/05
3 | General | 3 | Pending | 2018/03/06
Для каждого пользователя службы выберите, статус будет обновлен в другом состоянии запроса таблицы.
Я хочу, чтобы результат был присоединен к двум таблицам, для каждой службы - статус. Например. Для служебного идентификатора 2 его принято, поэтому он имеет 2 записи во второй таблице. Я попробовал с присоединением, но он забирал как ожидающие, так и принятые для службы 2, которые должны отображать только один.
SELECT a.*, b.* FROM service a left outer join request_statusb on a.service_id =b.service_id
Как это сделать.? любая помощь Пожалуйста
Попробуй это
SELECT a.*, b.*
FROM service a
INNER JOIN request_status b ON a.service_id = b.service_id
WHERE b.id = (SELECT max(id) FROM request_status rs WHERE rs.service_id = a.service_id)
JOIN
. Вы уже пробовали что-нибудь в этом отношении?