私は2つのテーブルを持っています。
1. Table events: event_date, name, event
2. Table locations: loc_date, name, location
テーブルのイベントからすべての行を取得し、 event_date の前に loc_date が最後にあったテーブルの場所から場所を取得する必要があります。
更新テーブルeventsから行ごとに 1 つの場所を取得する必要があります。例えば:
events
event_date | name | event
13:53 | test1| 0
14:20 | test2| 1
18:00 | test3| 5
locations
location_date | name | location
13:20 | a | Moscow
13:40 | b | New-York
14:00 | c | London
17:24 | d | Tokio
18:00 | e | Berlin
私が望む結果は次のとおりです。
event_date | name | event | location
13:53 | test1 | 0 | New-York
14:20 | test2 | 1 | London
18:00 | test3 | 5 | Berlin
私はこのようなことを試しました:
select e.*
from events e
left join locations l on l.loc_date < e.event_date
ただし、このクエリは、イベントからの同じデータと場所からの異なるデータを含む多数の行を返します。