2011-01-27 18 views
7

मैं हालिया प्रविष्टियों को खींचने के लिए एक प्रश्न के साथ संघर्ष कर रहा हूं।एसक्यूएल एकाधिक रिकॉर्ड्स के साथ अधिकतम तिथि का चयन करें

BusinessDate 
ReportGuid 
NoteGuid 
Note 
NoteDate 
NoteAddedBy 

BusinessDate, ReportGuid और NoteGuid मेज पर पी रहे हैं: मैं एक नोट्स तालिका निम्नलिखित कॉलम शामिल है। यह तालिका एक विशिष्ट ReportGuid प्रति दिन एकाधिक नोट्स की अनुमति देती है। मेरे पास एक और तालिका है जिसमें अतिरिक्त रिपोर्ट जानकारी है जो उपयोगकर्ताओं के लिए शामिल और प्रदर्शित की जाएगी। मैं प्रत्येक ReportGuid के लिए केवल हालिया नोट प्रविष्टि खींचने और प्रदर्शित करने की कोशिश कर रहा हूं।

मैंने मैक्स (नोटडेट) का उपयोग करने की कोशिश की लेकिन मुझे केवल तालिका में जोड़ा गया नवीनतम नोट मिल रहा है जो प्रत्येक रिपोर्टगूड के लिए नवीनतम नोट नहीं है।

किसी भी मदद की सराहना की जाएगी।

धन्यवाद

अद्यतन: मदद के लिए

धन्यवाद:

SELECT N.Note, N.ReportGuid 
FROM Tracking.SM_T_Report_Notes N 
RIGHT OUTER JOIN 
    (
    SELECT ReportGuid, Max(NoteDate) As NoteDate 
    FROM Tracking.SM_T_Report_Notes 
    GROUP BY ReportGuid 
    ) AS ND 
    ON N.NoteDate = ND.NoteDate 

उत्तर

10

आप group by ReportGuid करने की जरूरत है और Max(NoteDate) का चयन करें। वह प्रत्येक समूह का अधिकतम चयन करेगा।

+0

यह काम करता है अगर मैं केवल ReportGuid और NoteDate चाहता हूं लेकिन मुझे डेटा के सभी कॉलम चाहिए। चयन ReportGuid, मैक्स (NoteDate) NoteDate \t \t T.SM_T_Report_Notes से के रूप में की \t \t ग्रुप ReportGuid – Taryn

+0

@bluefeet: ठीक है, ओह। उस स्थिति में आप बस अधिकतम (ReportGuid), अधिकतम (नोटडेट) को टीएसएम_T_Report_Notes समूह से नोटडेट के रूप में रिपोर्ट Guid चुन सकते हैं –

संबंधित मुद्दे