2014-10-08 4 views
0

У меня есть таблица под названием Orders с колонкой OrderId. Я хочу, чтобы выполнить запрос, который будет включать в себя порядка,Каков правильный синтаксис SQL для этого запроса?

OrderId like '123%' or OrderId like '456%' 

, но не возвращает строку, если:

OrderId like '123554' or OrderId like '456665%' 

Что такое лучший способ структурировать этот запрос, как мне нужно включать верхней части и сделать отрицательный результат нижней части?

Что-то вроде

Select * 
from Orders 
where (OrderId like '123%' or OrderId like '456%') 
    and not (OrderId like '123554' or OrderId like '456665%') 
+0

Я бы, возможно, не использовать как на той части, которая 123554, если это постоянная – TGH

ответ

1
select * 
from orders 
where (orderid like '123%' 
    or orderid like '456%') 
    and orderid not like '123554%' 
    and orderid not like '456665%' 
+0

спасибо. , вы видите что-то не так с запросом, который я предложил. Я бы предположил, что это эквивалентно тому, что у вас есть – leora

+0

@leora запрос, который вы положили в свое редактирование, в порядке, что вы подразумеваете под «правильным синтаксисом»? –

+0

О, у меня была опечатка, которая вызывала проблему. Я не могу закрыть вопрос, поэтому я принял вашего владельца – leora

Смежные вопросы