是否可以在左连接中使用BETWEEN和'='检查值?像这样......
LEFT JOIN abc
ON abc.date = BETWEEN $a AND $db
此查询无效:(。某个解决方案?
答案 0 :(得分:1)
您正在寻找的语法是:
LEFT JOIN abc
ON abc.date BETWEEN $a AND $b
IE中。您需要删除=
。
答案 1 :(得分:0)
之间没有等号。我不太了解PHP,但SQL通常希望日期采用适当的格式,通常为YYYY-MM-DD,而某些DBMS也会接受其他格式,例如MM / DD / YYYY,能够识别它们。
请注意,a和abc表之间没有实际连接,因此,对于'a'中的每个寄存器,SQL将包含'abc'中的所有列,但没有记录。您必须使用以下内容实际加入表:
select *
from a
left join abc
on a.ID = abc.ID
and abc.date between '$a' and '$db'
您可以按任何条件阻止过滤,但您必须加入表格。不同的是,当左表(a)和右表(abc)之间没有匹配时,右边的数据将在结果中显示为NULL。
希望它有用并且有用。