根据一个表的字段从另外一个表找到关联内容更新本表的SQL如何写?

bandaoyu 2018-04-23 10:26:07

#遍历tb1中的每条记录,根据每条记录的lFaultTime在tb2中找到tb1.lFaultTime=tb2.lTime的记录若干条,

记录的ucDev=0的,将lDataIndex的值插入到tb1的lWaveID1字段,
ucDev=1的,将lDataIndex的值插入到tb1的lWaveID2字段,
ucDev=2的,将lDataIndex的值插入到tb1的lWaveID3字段


SQL语句如何实现?

tb1;tb2见下面回复的图片
...全文
1141 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
bandaoyu 2018-04-23
  • 打赏
  • 举报
回复
tb1和tb2
crynono 2018-04-23
  • 打赏
  • 举报
回复
update tb2 inner join tb1 on tb1.lFaultTime=tb2.lTime set tb2.lDataIndex=tb1.lWaveID1 where tb1.ucDev=0; update tb2 inner join tb1 on tb1.lFaultTime=tb2.lTime set tb2.lDataIndex=tb1.lWaveID2 where tb1.ucDev=1; update tb2 inner join tb1 on tb1.lFaultTime=tb2.lTime set tb2.lDataIndex=tb1.lWaveID3 where tb1.ucDev=2; 这3条当然也能合并成一条,麻烦一些就是
bandaoyu 2018-04-23
  • 打赏
  • 举报
回复
引用 2 楼 crynono 的回复:
3种情况写三条update语句,where条件不同而已。两个表通过tb1.lFaultTime=tb2.lTime 内连接一下
怎么写呀
crynono 2018-04-23
  • 打赏
  • 举报
回复
3种情况写三条update语句,where条件不同而已。两个表通过tb1.lFaultTime=tb2.lTime 内连接一下

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧