我有两张桌子
  
  
   - 
    
     表学校
     school_open_time|school_close_time|school_day
8:00 AM         | 9:00PM          | Monday
10:00 AM        | 7:00PM          | Wednesday
 
- 
    
     表学院
      college_open_time|college_close_time|college_day    
 10:00 AM         | 8:00PM           | Monday
 10:00 AM         | 9:00PM           | Tuesday
 10:00 AM         | 5:00PM           | Wednesday
 
   现在我想选择
   
    school_open_time
   
   
    school_close time
   
   ,
   
    college_open_time
   
   和
   
    college_close_time
   
   根据今天(意思是
   
    college_day=school_day=today
   
   ,如果某个表中没有特定日期的行,则显示空白字段。(
   
    LEFT JOIN
   
   ,我想我可以用)。
  
  
   请为此向我建议最佳和优化的查询。
  
  
   
    更新:
   
  
  
   如果学校没有开放时间和关闭时间,那么大学开放时间和大学关闭时间必须作为学校开放时间和学校关闭时间返回(不填写数据库,只返回)。一定要有一天的大学开放时间和大学关闭时间
  
  
  
   我使用下面的查询
  
   SELECT college_open_time,college_close_time ,school_open_time,
        school_close_time  FROM tbl_college
 LEFT JOIN tbl_school ON school_owner_id=college_owner_id 
 WHERE college_owner_id='".$_session['user_id']."' AND
 college_day='".date('l',time())."'";
  
   当表中没有某一天的行时,返回单行(左手有一些值,右手有空白值),但在左手边显示七行相同值(大学开放时间、大学关闭时间),在右手边显示六行相同值(学校开放时间和学校关闭时间)。
  
  i need only one row when both table have a row of a given day
  
   但是使用上面的查询只取对应表的第一行“学校”,其中“学校所有者”ID为50(let),它看不到“学校日名称”应为“天”的条件。
  
  
  
   
    更多更新@37stars
   
  
  
   还有一点问题,亲爱的,
学校关闭时间和学校开放时间的数据类型为
   
    TIME
   
   类型
而大学开放时间和大学关闭时间的数据类型是
   
    VARCHAR
   
   类型。
我使用了你给出的下面的代码,但我做了一些修改,我接近了结果。
  
  
   但是现在告诉我在下面的代码段中我必须在哪里写ifnull
  
  
   
    
     ifnull(time_format())或time_format(ifnull())
    
   
  
  SELECT TC.owner_id,college_open_time AS collegeOpen, 
       college_close_time AS collegeClose, 
TIME_FORMAT(school_open_time, '%h:%i %p' ) AS schoolOpen,       
TIME_FORMAT(school_close_time, '%h:%i %p' ) AS schoolClose
FROM tbl_college TC
LEFT JOIN tbl_school  TS ON TS.owner_id = TC.owner_id
AND TC.college_day = TS.school_day
WHERE college_day = DATE_FORMAT(NOW(),'%W')
  
  
   
    解决方案
   
  
  
   感谢37颗星,你的和蔼可亲,谢谢你的伊夫鲁姆之意,
  
  
   
    我在写最佳和最佳的查询
   
  
  SELECT TC.owner_id,college_open_time AS collegeOpen,college_close_time AS 
    collegeClose, IFNULL(TIME_FORMAT(school_open_time, '%h:%i %p'),college_open_time) 
    AS schoolOpen,IFNULL(TIME_FORMAT(school_close_time, '%h:%i %p',college_close_time)
    AS schoolClose FROM tbl_college TC LEFT JOIN tbl_school TS 
    ON TS.owner_id = TC.owner_id AND TC.college_day = TS.school_day 
    WHERE college_day = DATE_FORMAT(NOW(),'%W') 
    FROM tbl_storecalendar TS LEFT JOIN tbl_delivery_hours TD 
    ON TD.store_id = TS.store_id 
    AND TD.del_day = TS.dayName WHERE dayName = DATE_FORMAT( NOW( ) , '%W' )