mysql 查询的问题 求大神急

文刀一撇 2016-08-15 10:05:33
在mysql 数据库中有张vi_res_site表,修改的数据存储在对应bs_res_site,怎么查出最新的数据(就是修改表有的数据以修改表为准,没有的就用原表的数据),sql该怎么写
...全文
158 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
中国风 2016-08-16
  • 打赏
  • 举报
回复
加上注释
-- NewCol=显示列,ID=两表的关联列,为vi_res_site.id唯一列,bs_res_site为引用可重复,Date=修改时间
select 
*
,ifnull(b.COl,a.COl) as NewCOl
from   vi_res_site AS a left JOIN bs_res_site AS b ON a.ID=b.ID and b.Date=(SELECT max(Date) FROM bs_res_site WHERE ID=b.ID);
中国风 2016-08-16
  • 打赏
  • 举报
回复
参照

select 
*
,ifnull(b.COl,a.COl) as NewCOl
from   vi_res_site AS a left JOIN bs_res_site AS b ON a.ID=b.ID and Date=(SELECT max(Date) FROM bs_res_site WHERE ID=b.ID);
Ginnnnnnnn 2016-08-16
  • 打赏
  • 举报
回复
SELECT * FROM vi_res_site a LEFT JOIN bs_res_site b ON a.xx = b.xx AND NOT EXISTS(SELECT * FROM bs_res_site WHERE b.xx = xx AND 修改时间 > b.修改时间) 剩下的自己脑补
ACMAIN_CHM 2016-08-15
  • 打赏
  • 举报
回复
select COALESCE(bs_res_site.col1,vi_res_site.col1) from vi_res_site left join bs_res_site on ....
LoveWyf_ 2016-08-15
  • 打赏
  • 举报
回复
通过左右连接

56,677

社区成员

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

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