[英]Selecting rows based on Priority -Sql
我有一個案例,我想選擇基於行的狀態克隆優先級
第一優先級應該是 Customer_Status 狀態為“已刪除”
第二個優先級應該是 Family_Status,值為 'Deleted' [選擇前 1 個 Family_Status ='Deleted']
如果所有 Family_Status 都為“open”,則選擇前 1 個 Family_Status ='Open'
情況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
任何人都可以幫助解決此查詢
只需對結果集進行排序:
SELECT TOP (1) *
FROM MyTable
ORDER BY Customer_Status, Family_Status DESC
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.