2011-02-13 132 views
-1

是否可以在左连接中使用BETWEEN和'='来检查值? ?事情是这样的......sql confusion LEFT JOIN = BETWEEN

LEFT JOIN abc 
     ON abc.date = BETWEEN $a AND $db 

这个查询的心不是工作:(.ANY解决方案

回答

1

你正在寻找的语法是:

LEFT JOIN abc 
    ON abc.date BETWEEN $a AND $b 

即你需要删除=。 。

+0

不工作!!! :( – cute 2011-02-13 14:14:36

0

在之间没有等号。我对PHP不太了解,但是SQL通常会以适当的格式(通常是YYYY-MM-DD)和一些DBMS d o接受其他格式,如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。

希望它有帮助,有用。