2013-01-21 33 views
1

如果我找回场馆与他们的关闭时间从另一个表像这样的列表:即使连接表为空也显示行吗?

$fullDate = date('Y-m-d H:i:s'); 

$query="SELECT 
venues.ID, 
venues.VENUE_NAME, 
locations.LOCATION, 
hrs.opening_day, 
hrs.opening_time, 
hrs.closing_time 
FROM venues 
INNER JOIN venue_types 
ON venues.VENUE_TYPE = venue_types.ID 
INNER JOIN locations 
ON venues.VENUE_LOCATION = locations.ID 
INNER JOIN hours_of_operation hrs 
    on hrs.venue_id = venues.id 
    and ((hrs.opening_day=date_format('$fullDate' - INTERVAL (closing_time<opening_time and time('$fullDate')<closing_time) DAY, '%a'))) 
GROUP BY venues.VENUE_NAME"; 

我得到的,我已经指定了打开/关闭时间某一天在hours_of_operation场馆的结果。无论当天hours_of_operation行是否为空,该如何显示所有场所?

谢谢! :)

+1

您在此查询没有聚集功能,使GROUP BY是不合适的。我怀疑你的意思是使用SELECT DISTINCT ... – Strawberry

回答

4

使用LEFT JOIN:

... 
LEFT JOIN hours_of_operation hrs 
... 
+0

哇谢谢!那很简单。 – pufAmuf

相关问题