0
尋找一個SQL解決下面的問題SQL服務器:有多個標準
返回
USER
和NUMBER
組合WHERE PRIORITY = MIN(PRIORITY)
[NULL
相當於MAX(PRIORITY + 1)
] ...在領帶的情況下PRIORITY
選擇值,打破使用最低LINEITEM
字段:
USER,
LINEITEM,
NUMBER,
PRIORITY
個
值:( 'X' 表示期望的組合)
USER LINEITEM NUMBER PRIORITY
-------------------------------------
1 1 12345 NULL
1 2 23456 2
1 3 34567 1 X
2 1 9876 3
2 2 98765 1 X
2 3 12345 2
2 4 23456 1
3 1 23456 NULL X
3 2 12345 NULL
4 1 34567 NULL
4 2 45678 NULL
4 3 12345 1 X
4 4 12345 2
4 5 23456 1
預先感謝。
針對PM 77-1,
我目前的方法:
SELECT table1.user,table1.number
FROM table1
JOIN (
SELECT user,
CAST(MIN((COALESCE(priority,999) *
(10^(5 - LEN(COALESCE(CAST(priority AS VARCHAR),'999'))))) +
lineitem) AS VARCHAR) AS selector
FROM table1 GROUP BY user
) AS table2
ON table1.user = table2.user
AND table1.lineitem = CAST(RIGHT(table2.selector, 1) AS int)
ORDER BY table1.user;
確定。什麼阻止你創建這樣的查詢?你卡在哪裏? –
我試圖用SELF-JOIN和NOT EXISTS執行任務,但一直得到不準確的結果。 我目前的解決方案是非常不雅,我想了解如何使用集合操作來完成它。 –
請使用[編輯]將您的代碼添加到您的問題中。 –