求助大神,查询表中所有数据,如果数据B的id2 = 数据A的id,则不查A,只查B。详细请进来看。

battle-angel 2018-03-21 04:43:36

如图:
FORMAL_DATA = 001 的是正式数据
FORMAL_DATA = 002 的是临时数据
第三条的ID2_ = 第二条ID_,就代表第三条是第二条的临时数据。
现在要这样一个效果,
因为第二条正式数据,有了一条临时数据,所以查询时候把第二条过滤掉,只要第一条和第三条。

求大神给讲讲怎么写。
...全文
710 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
TodayZ 2018-03-28
  • 打赏
  • 举报
回复
假设表名是a,字段分别是 id,id2,FORMAL_DATA ,具体SQL如下: SELECT IFNULL(b.id, a.id) id, IFNULL(b.id2, a.id2) id2 FROM ( SELECT id, id2 FROM a WHERE FORMAL_DATA = '001' ) a LEFT JOIN ( SELECT id, id2 FROM a WHERE FORMAL_DATA = '002' ) b ON a.id2 = b.id2;
crynono 2018-03-24
  • 打赏
  • 举报
回复
简单,先建2个临时表t1和t2 , t1的数据是ID_和FORMAL_DATA, t2的数据是ID2_和FORMAL_DATA, 然后用t1, t2和你上面的这个表,就比较方便了

56,687

社区成员

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

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