2010-11-30 26 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) ...

相关问题