in改join后结果不一样

elite2018 2019-01-08 03:35:10
SELECT aa
FROM f left join c on c.p_id = f.sid and f.create_time in(SELECT create_time from f WHERE create_time BETWEEN c.start_time and DATE_ADD(c.end_time,INTERVAL 2 DAY))
left join a on a.id = f.sId
left join b on a.userId = b.userId
WHERE
c.pyramid_id = 292
GROUP BY
c.classNo
ORDER BY
c.termId desc;
改写成以下格式后,有点问题:
SELECT
aa
FROM
f left join c on c.p_id = f.sid and f.create_time BETWEEN c.start_time and DATE_ADD(c.end_time,INTERVAL 2 DAY)
left join a on a.id = f.sId
left join b on a.userId = b.userId
WHERE
c.p_id = 292
GROUP BY
c.classNo
ORDER BY
c.termId desc;


第三行一个显示 2018-09-10,一个显示12-22日,为什么结果不一样?
...全文
488 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
吉普赛的歌 2019-01-08
  • 打赏
  • 举报
回复
看你的业务逻辑吧。 个人认为下面的要合理一点。

56,677

社区成员

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

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