我最近问了一个关于自加入的问题,我得到了很好的答案。
该查询旨在查找紧随事件 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
我真的很感谢你的帮助,无论出于什么原因,我都很难解决这个问题。
我尝试理解这一点的方法是在第一部分写出两个列表,分别标记为 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
哦,只是我们计算出开始日期的字段。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)