2011-02-13 62 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。

希望它有幫助,有用。