У меня есть две таблицы в MariaDB, где мне нужно показать те таблицы в левой таблице, где их текущий результат не совпадает с самым последним в таблице истории.
Например:
users
id name current_score
1 Bob 4
2 Tom 5
3 Fred 3
4 Tim 3
5 Ian 4
histories
id user_id score date
1 1 3 2018-11-13
2 1 4 2018-11-12
3 1 2 2018-11-11
4 2 5 2018-11-12
Выше я хотел бы показать Боба, поскольку его последняя история не совпадает с его текущим счетом, но не показать Тома, поскольку его матч
Я пытался использовать что-то вроде:
SELECT u.id, u.name, u.current_score
FROM users u
where u.current_score not in
(select h.score from histories h where
h.user_id=u.id order by h.date desc limit 1)
Это выдало ошибку:
#1235 - This version of MariaDB doesn't yet support
'LIMIT & IN/ALL/ANY/SOME subquery'
Если я уберу ограничение 1, то он возвращает почти все строки в пользователях - в каждой таблице есть несколько тысяч строк, но я думаю, что он должен вернуть около 50, но он возвращает более 4 100 строк из 4 285 возможных строк