1

これはおそらく簡単な質問ですが、解決方法がわかりません。

このシナリオでは、3 つのテーブルがあります。イベント、広告、訪問。広告と訪問には event_id フィールドがあり、訪問には ad_id フィールドがあります。最後に、2 つのイベントの日付を比較します。

広告の ID に基づいて、イベントの日付が広告のイベント日付より後のすべての訪問を取得する必要があります。

いくつかのコードを提供したいと思いますが、この場合、私はかなり迷っています。そのような結合で結合を行う方法がわかりません。

ありがとう。

4

1 に答える 1

1
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、広告のイベントと比較して、訪問のイベントへの参加の句に条件を設定することです。

異なるテーブルエイリアスを割り当てることにより、同じテーブルを複数回結合できることにも注意してください。

于 2012-10-07T00:49:14.637 に答える