मेरे पास एक सारणी है जिसमें पंक्तियों का एक टन (> 10 के) है। अधिकांश पंक्तियों में डुप्लिकेट भूमिकाउपयोगकर्ता नाम से जुड़े मान हैं।SQL सर्वर विशिष्ट नवीनतम मानों का चयन करें
मुझे क्या करना कोशिश कर रहा हूँ अलग से चयन पंक्तियों और नवीनतम भूमिकासे जोड़ा REQUEST_ID है। मेरे पास लगभग यह है, लेकिन मेरी पूंछ को मारने वाला हिस्सा null
अनुरोध_आईडी फ़ील्ड में से कुछ मान हैं क्योंकि उन कॉलम को जोड़ने से पहले उन अनुरोध किए गए थे। मैं अभी भी को select statement
में शामिल करने की आवश्यकता है यदि उपयोगकर्ता ने अपडेट के बाद से कोई अन्य अनुरोध दर्ज नहीं किया है।
मेरी मेज संरचना का एक उदाहरण:
0 | jsmith | User | null
5 | jsmith | Admin | 57
6 | jsmith | Dude | 57
यहाँ बयान मैं अब तक की कोशिश की है इस प्रकार हैं::
id | uname | role | request_id
0 | jsmith | User | null
1 | jsmith | Admin | null
2 | jsmith | Dude | null
3 | jsmith | Admin | 56
4 | jsmith | Dude | 56
5 | jsmith | Admin | 57
6 | jsmith | Dude | 57
यह वांछित परिणाम होगा
में शामिल होंselect distinct a.uname, a.role, a.request_id from (
select * from das_table
)
b join das_table a on b.role = a.role and b.request_id = a.request_id
where a.uname = 'jsmith'
परिणाम: यह साथ पंक्तियों समाप्त REQUEST_ID = NULL
मैक्स()
यह मेरे लिए काम नहीं किया क्योंकि मुझे लगता है कि MAX()
null
मूल्यों गिनती नहीं करता है? मेरे सवाल मुझे लगता है कि यह दूसरों मैं इसकी पड़ताल की है से अलग request_id
अशक्त जा रहा है की संभावना होने है बनाता में
एक चेतावनी:
select distinct uname, role, max(request_id) as request_id from das_table where uname='jsmith'
group by uname, role, request_id
इसी प्रकार के सवाल मैं देखा है।
Select distinct values from 1 column | SQL Server : select distinct by one column and by another column value | SQL Server select distinct hell
धन्यवाद मार्क !! यह चाल है! – ckpepper02
@ ckpepper02: खुशी है कि मैं मदद कर सकता हूं। –