2017-01-23 29 views
1

我使用的查詢像使用AND或OR功能後/前之間在MySQL

WHERE this.ID BETWEEN 1 AND 11

但我想另一個ID添加到這個喜歡

WHERE this.ID BETWEEN 1 AND 11 AND this.ID = 22

或即使

WHERE this.ID = 22 AND this.ID BETWEEN 1 AND 11

這會導致錯誤。

我堅持使用WHERE this.ID >= 1 AND this.ID <= 11 AND this.ID = 22?有沒有更簡單的方法來做到這一點?

+0

首先有一個語法錯誤。你有兩個WHERE子句 – e4c5

+0

Im在這句話中顯示2個不同的查詢,我編輯它 –

+0

你想達到什麼目的?如果ID在1和11之間,那麼同時它不能等於22.如果你想選擇所有在1和11之間的ID,並且你還需要'ID',它是相等的到22.然後你必須使用'OR'條件。 – Viki888

回答

1

當您使用它會檢查ID是必須等於1至11和22

ID不能有相同的兩個時間值。您可以使用。但是當你使用OR條件時,你必須把它放在()。所以其他條件將正常工作。

您可以在括號後添加其他條件。

WHERE (this.ID BETWEEN 1 AND 11 OR this.ID = 22) 
+0

耶剛剛意識到我需要一個OR而不是一個AND。謝謝你 –

+0

@CesarBielich你應該接受的答案 –

+0

我不能10分鐘,我會盡快我可以 –

0

我已經嘗試過了我的殼

SELECT * FROM tablename WHERE (id BETWEEN 1 AND 2) or (ID = 3) 

這給沒有錯誤

SELECT * FROM tablename WHERE (id BETWEEN 1 AND 2) AND (ID =3) 

導致這給空的結果,並沒有錯誤。

正如你可以看到你的兩個ID也傳遞AND條件不同ID的獲取結果的結果將是空