Всех рад приветствовать, столкнулся с проблемой нестандартного характера.
Суть в следующем:
Существует 2 таблицы с
разными данным, но
одинаковой структурой.
Пример:
Какой результат необходимо получить, и какие условия?
Необходимо при помощи минимального количества запросов к базе получить всех условных "Григориев", учитывая то, что в полученной мне таблице я должен как-то различать из какой таблицы был получен данный человек: санитар или врач.
Ко всему этому требуется учесть, что выводить данные мы будем постранично. Т.е. данные будут выведены не все, а в виде пагинации, что добавляет к задаче необходимость получать предварительное количество записей, соответствующих нашему условие (Количество Григориев).
Менять структуру базы нельзя, в настоящий момент каждая таблица имеет по +- 3 млн строк, соответственно отсюда и необходимость использовать лимиты и добиться минимального количества обращений к базе.
Что я пытался сделать?
Сначала я пытался получать таблицу, объединяя результаты при помощи
UNION, количество предварительных результатов считалось при помощи
SQL_CALC_FOUND_ROWS, все получаю, но не могу идентифицировать данные уже после их получения. Ведь структуры таблиц одинаковые.
Далее пытался соединять таблицы при помощи
JOIN, ничего особенного я не добился. Возможно хожу где-то рядом, но не могу попасть в точку.
Технологии
10.1.48-MariaDB
Запросы выполняются от node js скрипта, используя mysql2
Возможно я просто нубасик, буду благодарен любой помощи