事件表(初始):
状态表:
表就绪原因:
表延迟原因:
表备用原因:
下表原因:
所需输出
所以基本上,我必须用下表中相应的值替换事件表中status code和reason code列中的值。
我尝试了各种内部连接的排列和组合。但是,我无法破解它。如有任何见解,我将不胜感激。
我的代码更新状态代码列(不起作用):
update event eve
set eve.status_code = sta.name
inner join status sta on eve.status_code = sta.status_code
由于事件表中的reason\code列需要使用多个表进行更新,所以我无法为这一列提供代码
4条答案
按热度按时间pnwntuvh1#
您可以创建一个视图,而不是更新代码字段的名称。
下面的示例在reason表上使用left join,然后合并reason名称。
然后从视图中选择以获取状态和原因名称:
在db上测试<fiddle here
嗯,我想您可以使用视图来更新表本身。
但这可能不是最好的主意。
68de4m5k2#
在“reason”表上使用左连接进行更新,并在
name
从那些表中删除列zte4gxcn3#
使用连接例如我是使用2表连接从上面你完成所有表连接与共同列如下
lsmd5eda4#
假设表中的值是静态的,下面的代码可以在mysql中根据大小写进行更新。