背景...MySQL查詢返回錯誤的結果
我想查詢數據庫,看看有什麼出租物業,我們在指定日期範圍內可用。存儲方法非常糟糕,但它是由桌面程序創建的:/ 該網站是用Wordpress編寫的,但即使手動查詢數據庫,我甚至無法獲得正確的結果。
問題... 數據庫中有3列:propid
,av_date
和avail
。我有一個房產,預訂於5月31日和6月8日,但每天之間可用。當我在表中查看數據時,它看起來是這樣的:
propid av_date avail
1051 2013-05-31 U
1051 2013-06-01 A
1051 2013-06-02 A
1051 2013-06-03 A
1051 2013-06-04 A
1051 2013-06-05 A
1051 2013-06-06 A
1051 2013-06-07 A
1051 2013-06-08 U
當我運行下面的查詢中,該酒店仍然顯示...
SELECT DISTINCT propid
FROM availabilities
WHERE avail = 'A'
AND av_date IN ('2013-05-31', '2013-06-01', '2013-06-02', '2013-06-03', '2013-06-04', '2013-06-05', '2013-06-06', '2013-06-07', '2013-06-08');
我一直在打我的頭靠在牆上2天以上,所以這可能是愚蠢的,但任何幫助將不勝感激!
您的預期成果是什麼? – Ochi
「av_date IN(....)」只需要一次命中即可通過。那是哪裏問題是.. – Johan
你是什麼意思「物業仍然顯示」?我希望你的查詢能夠獲得'avail ='a'' *和*'av_date'在日期列表中的所有行。對於您的示例數據,恰好是'avail ='A''的所有行。你想要什麼結果? –