tsql - how to union this query -
<पूर्व>
नवीनतम जॉब के साथ (SELECT * FROM (चयन एआईडी, स्थिति, प्रारंभ, समाप्ति, स्पेशलाइजेशन आईडी, ROW_NUMBER) (द्वारा सहायता आदेश PARTITION मामले से जब ENDDATE शून्य है तो 0 वरना 1 अंत एएससी, (कास्ट (के रूप में datetime)) DESC ENDDATE) आर एन के रूप में EmploymentDetails एड से) ई कहां आर एन = 1), EarliestStart के रूप में (सहायता का चयन करें, योग (DateDiff (वर्ष, STARTDATE, isnull (ENDDATE, getdate ()))) EmploymentDetails ग्रुप द्वारा सहायता) से yearsexperience के रूप में चयन नाम के रूप में u.Id, u.FirstName + '' + u.LastName, lj.Position LatestPosition, aps.cId के रूप में , Aps.ApStatusID के रूप में ApplicationStatus, एपीएसएसआईआईडी स्पेशलाइजेशन इ डी, इयर्स एक्सपिरेंस, एड। अनुमानित सैलरी, रीप्लाइस (ISNULL (पता 1, '') + ',' + ISNULL ( पता 2, '' + ',' + ISNULL (शहर, '),',, ',', ') ऐसे पते से उपयोगकर्ता यू जॉइन नवीनतम जॉब एलजे ऑन यू.आईडी.आईजी = एलजे.एड जोन आरम्भ आरम्भ करें। = u.Id पर ad.aId = u.Id ApplicantDetails विज्ञापन शामिल हों पर aps.aId = u.Id ApplicationStatus ए पी एस में शामिल हों LatestJob के रूप में (चयन युक्त से (सहायता का चयन करें, स्थिति *, StartDate, ENDDATE, SpecializationId, ROW_NUMBER () से अधिक ( द्वारा सहायता आदेश PARTITION मामले से जब ENDDATE शून्य है तो 0 वरना 1 अंत एएससी, (कास्ट (के रूप में datetime) ENDDATE) DESC) आर एन के रूप में EmploymentDetails एड से) ई कहां आर एन = 1), EarliestStart के रूप में (चयन सहायता, योग (DateDiff ( वर्ष, स्टार्टडेट, इन्सल (एंडीडेट, डॉट डिट ())) एएस साल का अनुभव, रोजगार देयता ग्रुप द्वारा आईआईडी द्वारा) चयन करें यू.आई.डी., यू.प्रथम नाम + '' + यू। लिस्ट एनैम के रूप में नाम , Lj.Position LatestPosition, yearsexperience, ad.ExpectedSalary के रूप में,, REPLACE (IsNull (पता 1, '') + '' + IsNull (पता 2, '') + ',' + IsNull (सिटी, ''), ', ',', ') से उपयोगकर्ताओं पते के रूप में यू में शामिल हों LatestJob LJ पर u.Id = lj.aid पर ye.aId = u.Id EarliestStart तु शामिल हों पर ad.aId = u.Id जहां u.RoleId = 3 ApplicantDetails विज्ञापन में शामिल हों और u.UserStatusId = 1 और lj.SpecializationId = 38 - @ sId
मैं लगता है कि यह ऐसा कर सकता है (मैंने इसे थोड़ा और भी पठनीय बनाया है):
नवीनतम जॉब के साथ (SELECT * FROM (चयन एआईडी, स्थिति, प्रारंभ, समाप्ति, स्पेशलाइज्ड आईडी, ROW_NUMBER) आयआईडी आदेश द्वारा भाग (मामला समाप्त होने पर अब शून्य हो जाने पर 1 या 1 पूर्वार्द्ध) एएससी, कास्ट (दिनांक के रूप में ENDDATE) DESC) आर एन के रूप में EmploymentDetails एड से) ई कहां आर एन = 1), EarliestStart के रूप में (चयन सहायता, SUM (DateDiff (वर्ष, STARTDATE, IsNull (ENDDATE, GETDATE ()))) yearsexperience रूप से EmploymentDetails ग्रुप द्वारा सहायता) (चयन u.Id, u.FirstName + '' + u.LastName नाम के रूप में, lj.Position के रूप में LatestPosition, aps.cId, ApplicationStatus के रूप में aps.ApStatusID, aps.sId SpecializationId, yearsexperience, विज्ञापन के रूप में। उम्मीदवारों की संख्या, पता (इश्नाम (पता 1, '') + ',' + ISNULL (पता 2, '') + ',' + ISNULL (शहर, ''), ',,', ',') जॉइन न्यूजबोज़ एलजे ऑन यू.आईड.आई.जी.एल.ए.आ.आइआइ सबसे पहले आरम्भ करें.आइ.आइडी = यू.आइडी में शामिल हों आवेदक विज्ञापन पर विज्ञापन का विवरण। एआईडी = यू.आइडी में शामिल हों ApplicationStatus एपी पर aps.aId = u.Id) यूनिअन सभी रों (चुनें 'नाम के रूप में + u.LastName, lj.Position LatestPosition, yearsexperience, ad.ExpectedSalary के रूप में, REPLACE (IsNull (पता 1,' u.Id, u.FirstName + ' '', '+' ISNULL (पता 2, '') + ',' + ISNULL (शहर, ''), ',,', ',') एएस पता से यूजर यू जॉब नवीनतम जॉब एलजे ऑन यू.आईडी = एलजे .aid पर ye.aId = u.Id ApplicantDetails विज्ञापन शामिल हों EarliestStart तु शामिल हों पर ad.aId = u.Id कहां u.RoleId = 3 और u.UserStatusId = 1 और lj.SpecializationId = 38 - @ सिड)
उम्मीद है कि मैंने किसी भी जानकारी को खो दिया है या इसे गलत तरीके से कॉपी नहीं किया है। यह सही ढंग से पार्स करता है, इसलिए मुझे यकीन नहीं है कि यह वास्तव में आपकी इच्छानुसार वापस करेगा।
Comments
Post a Comment