为了账号安全,请及时绑定邮箱和手机立即绑定

mysql 查询缺失的数据

mysql 查询缺失的数据

慕哥9229398 2019-02-06 10:10:21
一开始是通过 member_id 来查询数据的,另一张表里记录着用户的信息。 一天 用户表的这条信息丢失了。生成的一个 openID 一样但是主键不一样的数据。 但是下图的数据还是这样写入的 我现在如何通过 mp_id 和 openID 还查询这个用户的正常数据呢。上图看到的数据 openID 一栏都有部分数据是缺失的  现在**只想通过 mp_id 和 openID 查询图中全部数据** 该如何完成这个sql 查询呢  求大神写思路SELECT * FROM `score_log` WHERE `mp_id` = 'gh_1d3037ae656c' AND `openid` = 'o5NHFsy-PUHxY7G_h_S8UscpKVg8'
查看完整描述

2 回答

?
侃侃尔雅

TA贡献1801条经验 获得超16个赞

如果 openid 只是空字符串

SELECT * FROM `score_log` WHERE `mp_id` = 'gh_1d3037ae656c' AND `openid` in ('o5NHFsy-PUHxY7G_h_S8UscpKVg8', '');

如果 openid 只是 null

SELECT * FROM `score_log` WHERE `mp_id` = 'gh_1d3037ae656c' AND (`openid` = 'o5NHFsy-PUHxY7G_h_S8UscpKVg8' OR openid is null);


查看完整回答
反对 回复 2019-02-19
?
侃侃无极

TA贡献2051条经验 获得超10个赞

如你所说需要 mp_id 和 openID 作为条件查询,那么应当任意一个条件不能满足记录的唯一性,否则只需要满足唯一性的条件即可,那么数据缺失即无解,得到的记录只能少于应有记录。换个角度,弄清业务规则,是否能补全缺失数据,或者以其他作为能唯一决定用户记录的条件来查询。

查看完整回答
反对 回复 2019-02-19
  • 2 回答
  • 0 关注
  • 1041 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信