[英]Left Join With a Where Clause on Left Table
我想過濾兩個給定日期之間的SQL結果,同時還要根據條件加入表。 這是我當前正在使用的SQL:
select
event.location,
event.dt,
event.start
from event
where
event.dt BETWEEN "2014-02-01" AND "2014-02-04"
left join entity on entity.id = event.entity
order by dt desc;
如果我將event.dt BETWEEN
移到event.dt BETWEEN
(即,在entity.id = . . . and event.dt BETWEEN
),它似乎根本無法過濾結果,從而使我在指定的日期范圍。
嘗試像這樣使用聯接
select event.location,
event.dt,
event.start
from event left join
entity on entity.id = event.entity
where event.dt BETWEEN "2014-02-01" AND "2014-02-04"
order by dt desc;
您的查詢應如下所示
select
event.location,
event.dt,
event.start
from event
left join entity on entity.id = event.entity
where
event.dt BETWEEN "2014-02-01" AND "2014-02-04"
order by event.dt desc;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.