2013-10-03 3 views
0

Здравствуйте мне нужно выполнить следующий запросMySQL обновление запроса с подзапрос

Query

update Taxonomy 
set sourceId = (
select id from TaxonomyMapping a where a.oldId = 
    (
     select cm.en_ID 
     from TaxonomyMapping ta 
     join CategoryMapping cm on ta.oldId = cm.language_ID where ta.oldId = oldId limit 1 
    ) 
) where id > -1; 

таблицы являются следующие:

систематики (идентификатор, oldId, SourceId, имя, язык)

ТаксономияМашины (id, oldId, sourceId, имя, язык) Ex акт копия систематики

CategoryMapping (en_ID, LANGUAGE_ID)

Что им пытаются достичь Исходная таблица таксономия Досталось категории на определенном языке, есть переводы его, но потребность в них, как известно, в Отображение категорий, теперь мне нужно добавить перевод на английский в sourceId, может ли кто-нибудь помочь мне с этим? на данный момент он заполняет один идентификатор для всех, подозревающих, что oldId (ta.oldId = oldId), который я использую, не является oldId обновляемой таблицы. Возможно ли сделать такой запрос, или я должен искать другое решение?

ответ

Смежные вопросы