бд users там хранятся юзеры.
есть бд users_auth там хранится последний вход пользователя на сайт. Там есть поля: id_user, user_agent, gpu, screen.
Мне нужно вывести пользователей у которых совпадают между собой значения полей допустим user_agent and gpu. Причем поиск может быть разным, в разных комбинациях gpu and screen и т.д.
Важно понимать что сейчс поиск не идет через where, хотя он тоже может быть если я захочу и буду знать по чем искать.
допустим у нас есть записи 1,2,3,4,5,6 у записей 1 и 2 между собой одинаковые поля user_agent and gpu и 4 и 6 тоже между собой одиаковые записи. ТО есть мы выведем 1,2 потом 4,6
Понятно что имею ввиду ?
Прошу помощи у всех, мучаюсь уже несколько дней.
Основой запрос идет к таблице users, а потом уже джойить таблицу users_auth но я хз как это сделать, чтобы искало совпадения само.
Если что есть http://sqlfiddle.com/#!9/98580f/2
group by id_user,user_agent,gpu order by id_user
select ua.gpu, ua.screen, u.id from users u join users_auth ua on u.id = ua.id_user and exists (select id from users_auth where id <>ua.id and gpu = ua.gpu and screen = ua.screen and id_user = u.id ) Может так получиться. Но я пока не оч хорошо разбираюсь.
Обсуждают сегодня