右连接和条件Mysql

时间:2016-09-13 22:22:57

标签: php mysql

我想只显示可用的时间,以实现我正在尝试进行此查询

select * from agenda  right join tbl_hora on agenda.hora_id = tbl_hora.id_hor where  agenda.hora_id is null and  medico_id = 40 and evento_inicio = '2012-05-05';

但是,如果我从medico_id和evento_inicio中删除where条件,它会检索0行,它会显示所有行,我怎样才能使查询显示可用时间。

Pd积。议程表是空的,因为是一个制作和预约的ajax调用。

1 个答案:

答案 0 :(得分:0)

  来自议程的

在agenda.hora_id = tbl_hora.id_hora上加入tbl_hora

这意味着从议程表中选择它的hora_id列在tbl_hora中匹配的行以及来自tbl_hora表的所有行

  

其中agenda.hora_id为空

并在加入 之后从结果中选择agenda.hora_id为空的行。

这意味着你将永远得到0结果除非议程中有一行.hora_id列为空且 tbl_hora中的一行是.id列也为null

您需要删除where agenda.hora_id is null并使用您搜索的条件