Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
这很可能是一个简单的问题,但我不知道如何解决它。
在这种情况下,我有三个表。事件、广告和访问。广告和访问都有 event_id 字段,访问有一个 ad_id 字段。最后,我们要比较两个事件日期。
根据广告的 ID,我需要获取所有访问,其中他们的事件日期晚于广告的事件日期。
我很想提供一些代码,但在这种情况下,我很迷茫,我不知道如何在这样的连接上进行连接。
谢谢。
select v.* from ads a join events ae on ae.id = a.event_id join visits v on v.id = a.visit_id join events ve on ve.id = v.event_id and ve.event_date > ae.event_date where a.id = ?
这里的诀窍是在on加入访问事件的子句中添加一个条件,与广告事件进行比较。
on
还要注意,可以通过分配不同的表别名来多次连接同一个表。