SQL как и не равно в одном запросе, не работает - PullRequest
2 голосов
/ 31 июля 2011

У меня есть таблица с именем 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'

Это не работает.Я хочу получить все идентификаторы и имена, подобные '1' или 'c', но хочу исключить строку, идентификатор которой равен 'A1002'.

Ответы [ 4 ]

1 голос
/ 31 июля 2011

Используйте скобки, and имеет более высокий приоритет, чем or.

select distinct id,name
 from table1
 where (id like '%1%' or name like '%c%') and id <> 'A1002'
1 голос
/ 31 июля 2011

Попробуйте несколько скобок ...

SELECT id,name 
FROM table1 
WHERE (id LIKE '%1%' OR name LIKE '%c%') AND id <> 'A1002'
0 голосов
/ 31 июля 2011
select distinct id,name from table1 where (id like '%1%' or name like '%c%') and id <> 'A1002'

А как насчет брекетов? вы смешали and и or

0 голосов
/ 31 июля 2011

попробуйте удалить отдельное ключевое слово.Идентификаторы в любом случае отличают строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...