2015-10-28 2 views
0

Как правильно использовать выражение IN в предложении Order By? У меня есть несколько таких вопросов, и я не могу найти решение.Использование выражения IN в порядке заказа По условию

Я хочу выбрать ID, фамилию, страну из списка клиентов и заказать ее по странам Северной Америки сначала (Канада и США, с соответствующим идентификатором), а затем, когда они заполнены, я хочу заказать оставшиеся данные на основе Только ID.

Select customerid, lastname, country 
From customer 
Where country IN ('Canada', 'USA') 
Order By CustomerID 

Here - это то, что они ищут.

Я пробовал Where where и вложил запрос, но я новичок в этом.

Любые советы приветствуются.

+0

Что вопрос вы столкнулись? – MusicLovingIndianGirl

ответ

2

Вы не хотите использовать where критерии, а условный порядок:

Select customerid, lastname, country 
From customer 
Order By country IN ('Canada', 'USA') desc, CustomerID 
+0

Отлично работает, большое спасибо! – Michael

0

Вы также можете написать case в вашем order by, чтобы получить больше возможностей.

sqlFiddleDemo

Select customerid, lastname, country 
From customer 
Order By 
    CASE 
     WHEN country IN ('Canada', 'USA') THEN 1 
     ELSE 2 
    END as order_id 
    , CustomerID 
+0

Спасибо за объяснение! – Michael

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