我有两个表table1(name,num)和table2(index,name,num) Table1 name列具有长名称,table2 name列具有长名称和短名称。
name num
abc.xyz.com 1234
1 abc 1234
1 abc.xyz.com 6789
2 abc 1111
2 abc.xyz.com 2222
我需要更新table2列" num"符合以下条件:
在此示例中,基于上面的示例
请帮我写这个复杂条件的SQL查询..
提前致谢
答案 0 :(得分:0)
如果我正确理解逻辑,此查询应返回您想要的num
:
select t2.*, t1.num
from table2 t2 join
table1 t1name
on t2.name = t1name.name;
如果是这样,您可以将其转换为update
:
update table2 t2 join
table1 t1name
on t2.name = t1name.name
set t2.num = t1.num
where t2.num <> t1.num;