2010-11-30 24 views
0

X我正在這樣MYSQL其中所有

SELECT ....... WHERE column_name IN (1,2,3) 

查詢如何使用相同的查詢,並說

SELECT ........WHERE column_name IN (*) 

,並選擇所有行?

編輯:我需要這樣做的原因是因爲數據庫設計不好,一般編碼不好,現在我需要破解它。如果我沒有通過查詢1,2,3 ..我需要傳遞它,所以它會返回我所有的記錄。有沒有辦法做到這一點而不改變查詢?如果你不認爲這是可能的,那麼你應該說你的答案是不可能的。

+2

就忽略`WHERE`條款。 – Gumbo 2010-11-30 19:50:26

+0

WHERE column_name NOT IN(-1),如果你知道值不能小於0並且你仍然需要WHERE子句 – Vjy 2010-11-30 19:51:45

+0

是`(1,2,3)`常量或查詢結果? – stillstanding 2010-11-30 19:52:32

回答

3

只要全部刪除WHERE條款。

+0

不能這樣做,僅使用一個查詢並將其傳遞給1,2,3,4 ...或者如果0我想要所有 – andrew 2010-11-30 19:59:41

0

如果你想在另一個表中的值篩選返回表的基礎:

選擇COLUMN_1,從TABLE_1 COLUMN_2 其中COLUMN_1 IN(選擇tabl_2 column_with_value)

1

如果你絕對必須有WHERE子句,你可以說:

WHERE 1 

或者,如果你需要做的列名IN位,你可以這樣做:

SELECT ....... WHERE column_name IN (1,2,3) OR 1 
1

... IN (SELECT DISTINCT column_name FROM table) ...

相關問題