2009-04-20 159 views
0

我想從我的表中選擇以下查詢:多個where子句中查詢失敗

SELECT ARTICLE_NO, USERNAME, ACCESSSTARTS, ARTICLE_NAME, 
date_format(str_to_date(ACCESSSTARTS, '%d.%m.%Y %k:%i:%s'), '%d %m %Y') AS shortDate 
FROM AUCTIONS WHERE SUBCAT = 'fake' and USERNAME = 'testuser' ORDER BY 
str_to_date(ACCESSSTARTS, '%d.%m.%Y %k:%i:%s'), article_no limit 0, 10 

我得到0的結果回來。

然而,無論

SELECT ARTICLE_NO, USERNAME, ACCESSSTARTS, ARTICLE_NAME, 
date_format(str_to_date(ACCESSSTARTS, '%d.%m.%Y %k:%i:%s'), '%d %m %Y') AS shortDate 
FROM AUCTIONS WHERE SUBCAT = 'fake' ORDER BY 
str_to_date(ACCESSSTARTS, '%d.%m.%Y %k:%i:%s'), article_no limit 0, 10 

SELECT ARTICLE_NO, USERNAME, ACCESSSTARTS, ARTICLE_NAME, 
date_format(str_to_date(ACCESSSTARTS, '%d.%m.%Y %k:%i:%s'), '%d %m %Y') AS shortDate 
FROM AUCTIONS WHERE USERNAME = 'testuser' ORDER BY 
str_to_date(ACCESSSTARTS, '%d.%m.%Y %k:%i:%s'), article_no limit 0, 10 

回報預期的結果集。他們爲什麼不一起工作?

+0

請打破你的代碼跨越多行,以便於比較 – Alnitak 2009-04-20 12:27:54

回答

2

WHERE SUBCAT = '假' 和USERNAME = 'testuser的'

應該是:

WHERE SUBCAT = '假' OR USERNAME = 'testuser的'

這將返回這兩個結果,這是你對嗎?

編輯: 對不起,誤讀了字段。將「SUBCAT」列添加到您的查詢中,以便您可以查看每個條目的出現次數,並確保在應用where子句之前該組合將產生結果。

+0

AND將不可能評估,因爲它不可能是兩個值,但它可能是一個或另一個。 – Tanner 2009-04-20 12:30:12

2

我想,你沒有結果與「假」和「testuser」的組合? (你的意思或?)