sql LIKE和NOT在单个查询中相等,不起作用

时间:2011-07-31 10:55:20

标签: mysql sql

我有一个名为table1的表,其中包含两个颜色“id”和“name”。 值为:

id       name
----------------
(A1001   abc)
(A1002   bcd)
(A1003   cde)
(A1004   def)

我正在尝试此查询:

select distinct id,name
 from table1
 where id like '%1%' or name like '%c%' and id <> 'A1002'

它不起作用。我想得到所有的id和名称,如'1'或'c',但想要排除id为'A1002'的行。

4 个答案:

答案 0 :(得分:1)

尝试一些括号......

SELECT id,name 
FROM table1 
WHERE (id LIKE '%1%' OR name LIKE '%c%') AND id <> 'A1002'

答案 1 :(得分:1)

使用括号,and的优先级高于or

select distinct id,name
 from table1
 where (id like '%1%' or name like '%c%') and id <> 'A1002'

答案 2 :(得分:0)

尝试删除distinct关键字。无论如何,ID都会使行不同。

答案 3 :(得分:0)

select distinct id,name from table1 where (id like '%1%' or name like '%c%') and id <> 'A1002'

牙箍怎么样?你混合了andor