开发者社区> 问答> 正文

MYSQL自加入如何工作??mysql

我最近问了一个有关“自我加入”的问题,得到了一个很好的答案。

该查询用于查找事件1之后1天的事件2的ID,开始日期和价格。

该代码工作正常。但是我不知道如何。

有人可以尽可能详尽地解释一下-查询的不同部分是什么以及它们做什么?

SELECT event2.id, event2.startdate, event2.price FROM mm_eventlist_dates event1 JOIN mm_eventlist_dates event2 ON event2.startdate = date_add(event1.enddate, INTERVAL 1 DAY) WHERE event1.id=$id 非常感谢您的帮助,无论出于什么原因,我都很难解决这个问题。

展开
收起
保持可爱mmm 2020-05-17 19:49:58 823 0
1 条回答
写回答
取消 提交回答
  • 我试图理解的方式是在第一块上写出两个列表,分别标记为event1和一个event2。然后在每个列表中列出一些记录(列表将是相同的),现在从以下描述的WHERE开始。

    我们正在从两个表中获取数据(确定同一张表使用了两次,但暂时不要理会)

    FROM mm_eventlist_dates event1 JOIN mm_eventlist_dates event2 从下至上阅读其余内容可能会有所帮助。

    WHERE event1.id=$id 因此,我们希望来自event1的记录具有指定的记录ID。大概那是一个记录。现在我们找出事件结束后的第二天。

    date_add(event1.enddate, INTERVAL 1 DAY) 现在告诉我们来自event2的记录,它们需要从该日期开始,

    ON event2.startdate = date_add(event1.enddate, INTERVAL 1 DAY) 现在,我们确定了两个记录,我们想要什么字段?

    SELECT event2.id, event2.startdate, event2.price 哦,就是我们确定起始日期的字段。来源:stack overflow

    2020-05-17 19:56:46
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
MySQL 5.7让优化更轻松 立即下载
深入MySQL实战 立即下载
好的 MySQL 兼容可以做到什么程度 立即下载

相关镜像