2015-11-06 4 views
-1

У меня есть случай, там я хочу, чтобы выбрать строку на основе Статус cloumn агентом PRIORITYВыбор строк на основе приоритета -SQL

Первый агентом PRIORITY должен быть Customer_Status со статусом «Deleted»

Второй приоритет должен быть Family_Status со значением ' Удаленные» [Выберите верхний 1 с Family_Status = 'Deleted']

Если все Family_Status являются«открытыми», затем выберите верхний 1 Family_Status = 'Открыть'

Корпус: 1

 
CustomerID FamilyId Name   Customer_Status  Family_Status 
-------  -------- --------- ---------------  ----------- 
1000   101   Vk   Open    Deleted 
1000   102   vk   Open    Open 
1000   103   vk   Open    Open 

В этом случае мне нужно привести в качестве

 
CustomerID FamilyId Name   Customer_Status  Family_Status 
-------  -------- --------- ---------------  ----------- 
1000   101   Vk   Open    Open 

Случай 2.

 
CustomerID FamilyId Name   Customer_Status  Family_Status 
-------     --------- ---------------  ------------ 
1000   101   Vk   Open    Open 
1000   102   vk   Deleted   Open 
1000   103   vk   Open    Open 

В этом случае мне нужно привести в качестве

 
CustomerID FamilyId Name   Customer_Status  Family_Status 
-------     --------- ---------------  ------------ 
1000   102   vk   Deleted   Open 

Корпус: 3

 
CustomerID FamilyId Name   Customer_Status  Family_Status 
-------     --------- ---------------  ------------ 
1000   101   Vk   Deleted   Open 
1000   102   vk   Deleted   Open 
1000   103   vk   Deleted   Open 

Выход:

 
CustomerID FamilyId Name   Customer_Status  Family_Status 
-------     --------- ---------------  ------------ 
1000   101   Vk   Deleted   Open 

Корпус: 4

 
CustomerID FamilyId Name   Customer_Status  Family_Status 
-------     --------- ---------------  ------------ 
1000   101   Vk   Open    Deleted 
1000   102   vk   Open    Deleted 
1000   103   vk   Open    Deleted 

В этом случае мне нужно привести в качестве

 
CustomerID FamilyId Name   Customer_Status  Family_Status 
-------     --------- ---------------  --------- 
1000   101   Vk   Open    Deleted 

Может кто-нибудь помочь в этом запросе

ответ

1

Просто заказать набор результатов:

SELECT TOP (1) * 
FROM MyTable 
ORDER BY Customer_Status, Family_Status DESC 
+0

В этом, как он обрабатывает приоритет с состоянием «Удалено» – vmb

+0

я постараюсь это – vmb

+0

При заказе 'D' предшествует' 'O' так Deleted' будет заказан до' Open'. –

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