quest_mail_loot_template (Table1) と quest_template (Table2) の 2 つのテーブルがあります。どちらにも、プライマリ ID キーである列「エントリ」があります。彼らはお互いに依存していません。
Table2 には、null にすることができる列 RewMailTemplateId がありますが、必要なのはRewMailTemplateId<>0
. 両方のテーブルのエントリが同じ行を見つける必要があり、それが発生した場合は、Table2 の列 RewMailTemplateId の番号で Table1 の各エントリを変更します。
私はこれを使用しようとしました:
update quest_mail_loot_template Table1 set entry=(
select RewMailTemplateId
from quest_template where RewMailTemplateId<>0)
where (
select Table2.RewMailTemplateId
from quest_template TBL2
where TBL2.entry = TBL1.entry
);
SQLは見つかったすべての番号で1つのフィールドを更新しようとしているようですが、異なる番号である彼自身のRewMailTemplateIdの各エントリを更新する必要があります。
少なくともどのオペレーターを使用するべきかアドバイスはありますか?