У меня есть запрос со списком базовых значений и списком языковых значений. Каждое значение имеет ключ, который соответствует другому. Базовые значения хранятся в одной таблице, а языковые значения - в другой. Моя проблема в том, что мне нужно удалить все соответствующие базовые значения из QUERY, кроме одного. Затем я экспортирую этот запрос в электронную таблицу Excel (я могу выполнить эту часть нормально) и позволяю пользователю редактировать языковые значения.
Когда пользователь редактирует и / или вставляет новые языковые значения, мне нужно обновить базу данных, за исключением того, что теперь выполняется запись любых совпадающих значений в базе данных (например, тех, которые были удалены в первый раз).
Проще говоря, клиент платит за переводы, и если я смогу сгенерировать лист с меньшим количеством необходимых переводов (например, часто появляющимися фразами), то он сможет сэкономить деньги, отсюда и проект с самого начала. Я понимаю, что недостатком является то, что это не настоящий связанный список, где все совпадающие значения принадлежат одной строке в языковой таблице (что было бы легко). Вместо этого есть несколько идентичных значений, которые необходимо обновить, как описано выше.
Да, я в замешательстве, поэтому это может показаться немного расплывчатым. Вот образец:
Table 1
Item Description1
Item Description2
Item Description3
Item Description2
Item Description2
Item Description4
Item Description5
Item Description6
Item Description3
Table 2
Item Desc in other Language1
Item Desc in other Language2
Item Desc in other Language3 (blank)
Item Desc in other Language3
Item Desc in other Language4
Item Desc in other Language5
*blank*
Желаемый результат (при запросе)
Таблица 1
Описание товара1
Описание товара2
Описание товара3
Описание товара4
Описание товара5
Описание товара6
Table 2
Item Desc in other Language1
Item Desc in other Language2
Item Desc in other Language3 (filled by matching row in Table 2)
Item Desc in other Language4
Item Desc in other Language5
Item Desc in other Language6 (blank, returned as empty string)
Пользователь вносит свои изменения, включая вставку данных в пустые строки (например, строку 6 для языка), а затем повторно загружает:
Table 1
Item Description1
Item Description2
Item Description3
Item Description2
Item Description2
Item Description4
Item Description5
Item Description6
Item Description3
Table 2
Item Desc in other Language1
Item Desc in other Language2
Item Desc in other Language3 (now matches row below)
Item Desc in other Language3
Item Desc in other Language4
Item Desc in other Language5
Item Desc in other Language6 (new value entered by user)
Существует также ключ ресурса, который сопоставляет каждое «Описание элемента» одному «Элементу на другом языке». Единственный раз, когда они будут видеться друг с другом, это во время этого процесса перевода, в остальное время значения могут отличаться, поэтому ключи ресурсов нельзя просто изменить на все точки одного перевода навсегда.
Я также должен добавить, что не должно быть изменений структуры таблиц или удаления строк таблицы.
Хорошо, вот обновленный пересмотр того, что я хотел бы сделать запрос, но, очевидно, не делает, так как мне действительно нужны значения объединенной таблицы:
SELECT pe.prodtree_element_name_l, rs.resource_value, pe.prodtree_element_name_l_rk
FROM prodtree_element pe
LEFT JOIN resource_shortstrings rs
ON pe.prodtree_element_name_l_rk = rs.resource_key
WHERE rs.language_id = '5'
AND pe.prodtree_element_name_l <> ''
GROUP BY pe.prodtree_element_name_l