sql server - getting unique records across time when a value changes SQL -


still using 2008. have following 2 tables , need able pull out individuals when, given date, code d first time. easy d have never been e, can't figure out how include individuals first time d if previous e. have tried using generate list of es , match in others have been unsuccessful in figuring out how tie other query.

table1                                            table2 person  date1  date2  date3  date4  date5  date6  person  firstserv 1         e             e      d      d      d      1         date1 2                e      e                    d      2         date2 3                              d      d      d      3         date4 4                              d      d             4         date4 5         e                    d      d      d      5         date1 6         e      e                    d      d      6         date1 7                e      e      d      d      d      7         date2 8                              d      d      d      8         date4 9                              d      d             9         date4 10                             d      d      d     10         date4 

current code without bringing in clause (and yes know not efficient coder :) )

declare @myorder int set @myorder = (select academicorder dimtermyear dt3 termid='14/fa');  mydual ( select distinct ds.sttr_student, dt.academicorder     dbo.dimstudentterms ds          left join dimtermyear dt on dt.termid=ds.sttr_term      ds.sttr_stu_current_type = 'de' )   select distinct sa.stc_person_id,ds2.sttr_stu_current_type,dt2.academicorder     studentacadcredfrom2000 sa         left join dbo.dimstudentterms ds2 on ds2.sttr_student=sa.stc_person_id         left join dimtermyear dt2 on dt2.termid=ds2.sttr_term      (sa.stc_current_status in ('a','n') or (stc_current_status='d' , stc_grade not null))     , sa.stc_term='14/fa' , ds2.d04_first_term_enr='14/fa'     , ds2.sttr_stu_current_type='ds' , dt2.academicorder=@myorder order sa.stc_person_id 

if know in advance table 1 have 6 date columns (date1 through date6), can use series of cases follows:

with temp (     select person, firstdateofd = (         case when date1 = 'd' date1         case when date2 = 'd' date2         case when date3 = 'd' date3         case when date4 = 'd' date4         case when date5 = 'd' date5         case when date6 = 'd' date6)     table1 )  -- create lists need. -- e.g. date1_list = select person temp firstdateofd = date1  

Comments

Popular posts from this blog

javascript - Bootstrap Popover: iOS Safari strange behaviour -

Magento/PHP - Get phones on all members in a customer group -

session - Logging Out Using PHP -