1

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の各エントリを更新する必要があります。

少なくともどのオペレーターを使用するべきかアドバイスはありますか?

4

2 に答える 2