#mysql
#mysql
Вопрос:
У меня было 2 таблицы:
workers: id, user_id, group_id, name, ...
worker_groups: id, name, ...
«group_id» — это связь с worker_groups. Это было фиксированное отношение. Теперь моя задача — изменить group_id в определенные даты. Итак, я создал 3-ю таблицу:
relation: id, w_id, wg_id, start_date
Это огромный проект, и мне нужно решение для возврата group_id для нужного работника в текущие дни. Мой старый запрос:
SELECT id, name, group_id FROM workers
WHERE user_id = 1;
Я не хочу менять свой старый запрос, есть ли какое-либо решение, чтобы сопоставить ячейку «group_id» с запросом / функцией / процедурой или представлением, чтобы вернуть текущий «group_id» из таблицы отношений? Или единственное решение — отредактировать мой запрос и выполнить вызов функции из него?
РЕШЕНИЕ
Желаемое разрешение было достигнуто путем переименования старой таблицы и создания представления со старым именем таблицы. Я должен изменить имя таблицы в edit / add functions, но, по крайней мере, это можно сделать быстро
Комментарии:
1. Почему вы не хотите изменять запрос? Это имеет наибольший смысл и имеет наименьшую вероятность запутанного побочного эффекта
2. Вы можете переименовать
workers
таблицу, а затем создать представление с именемworkers
, которое содержит сопоставление, используя новое имя таблицы.3. Поскольку это огромный проект со многими модулями, было бы более эффективно, если бы это можно было сделать из MySQL
Ответ №1:
Желаемое разрешение было достигнуто путем переименования старой таблицы и создания представления со старым именем таблицы. Я должен изменить имя таблицы в edit / add functions, но, по крайней мере, это можно сделать быстро