Как сравнить имя столбца в таблице со значением столбца, полученным из другой таблицы - PullRequest
0 голосов
/ 24 марта 2019

У меня есть задача, в которой требуется скопировать данные из определенного столбца одной таблицы в другую таблицу, однако ссылка на этот столбец должна быть именем настраиваемого поля в таблице настраиваемых полей. Таким образом, три таблицы участвуют.

Имя настраиваемого поля - Memo под столбцом field_name_orig, и в той же строке памятки есть имя этого столбца, f42ba956f20488b47f38c0d1359c640235be5220 в столбце с именем field_name_clean.

Во второй таблице, называемой Deals, данные находятся под столбцом с именем f42ba956f20488b47f38c0d1359c640235be5220.

Данные должны быть скопированы в таблицу с именем notes под содержимым столбца.

Легко, если f42ba956f20488b47f38c0d1359c640235be5220 используется непосредственно как имя столбца для копирования данных, однако необходимо связать первые две таблицы, чтобы использовать Memo для ссылки на этот столбец.

Ниже приведен метод, который я использовал, не используя Memo в качестве ссылки из таблицы пользовательских полей, и это сделало эту работу.

Я надеюсь, что кто-то может помочь с этим.

INSERT INTO notes (company_id, user_id, deal_id, person_id, org_id, content, add_time, update_time)



SELECT company_id, user_id, id, person_id, org_id, f42ba956f20488b47f38c0d1359c640235be5220, add_time, update_time

FROM deals
...