Как сопоставить вызов функции в MySQL select для определенной ячейки таблицы?

#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, но, по крайней мере, это можно сделать быстро