webForumDet fria alternativet

Hitta maxvärden och företag

Databaser & SQLur Databashanterare & SQL

5 svar · 407 visningar · startad av Brnonisse

Medlem sedan mars 20093 inlägg
Frågan#1

Kör MS SQL 2005

Jag har hjärnsläpp idag.
Önskar få fram vilket företag en anställd jobbar på.
Då han kan ha bytt företag under åren som går så önskar jag få fram det senaste.

ID EmployeID CompanyID Period

7 20192 201032 2008-09-30 00:00
8 20192 201032 2008-10-31 00:00
9 20192 201032 2008-11-30 00:00
10 20192 201035 2008-12-31 00:00
11 20192 201035 2009-01-31 00:00
12 20192 201035 2009-02-28 00:00
13 20195 201027 2006-12-31 00:00
14 20195 201027 2007-01-31 00:00
15 20195 201027 2007-02-28 00:00
16 20195 201027 2007-03-31 00:00

Tack på förhand.

Medlem sedan dec. 20025 483 inlägg
#2

Välkommen till wF!

select top 1 companyid from t where employeeid = 20192 order by period desc
Medlem sedan mars 20093 inlägg
#3

Tack för välkomnandet och det snabba svaret.

Nu skrev jag ju tyvärr inte hela frågeställningen så jag får inte riktigt ihop det.
Jag vill hämta företagsid:et för varje anställd och uppdatera en Personaltabell där varje anställd endast finns med en gång. Så någon typ av JOIN måste väl till?!
Typ nedanstående tabell.

tblPersonal

EmployeID CompanyID Surname Lastname

1001 9001 John Smith
1002 9001 Bryan Adams
1003 9002 Jill Bush

mvh Brnonisse

Medlem sedan dec. 20025 483 inlägg
#4

Kanske kan följande fungera:

update tblpersonal
   set companyid
     = ( select q.companyid
           from t as q
          where q.employeeid = p.employeeid
            and q.period
              = ( select max(period)
                    from t 
                   where employeeid = q.employeeid ) )
  from tblpersonal as p
Medlem sedan mars 20093 inlägg
#5

Funkade finfint!
Mange tak!

mvh Brnonisse

Medlem sedan dec. 20025 483 inlägg
#6

Kanon! Glöm inte att acceptera som slutgiltigt det inlägg som löste problemet :bire

134 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)