webForumDet fria alternativet

Problem med urval och join

3 svar · 262 visningar · startad av wazid

wazidMedlem sedan maj 2001166 inlägg
#1

Hejsan

Jag önskar lista ut vem som är innehavare av repsektive dokument. För det har jag en logglista.

Jag har tre tabeller som jag joinar ihop med följande kod

SELECT     PU_logglista_rader.Mainid, PU_logglista_huvud.Lopnr, PU_logglista_huvud.Startdatum, PU_logglista_huvud.Namn, users.Fornamn, 
                      users.Efternamn, PU_logglista_rader.Datum, PU_logglista_rader.Id
FROM         users INNER JOIN
                      PU_logglista_rader ON users.ID = PU_logglista_rader.Person INNER JOIN
                      PU_logglista_huvud ON PU_logglista_rader.Mainid = PU_logglista_huvud.Id
ORDER BY PU_logglista_rader.Mainid DESC, PU_logglista_rader.Datum DESC, PU_logglista_rader.Id DESC

Mitt problem är att jag skulle bara vilja ha ut en rad per Mainid, och den raden ska vara den som har högst värde för Id.

Idag listas alla rader ut för varje Mainid (och det kan vara upp till tio stycken), men jag vill bara ha den "nyaste" raden.

MvH

David

wazidMedlem sedan maj 2001166 inlägg
#2

Mer info

Så här blir resultatet :

153	228-03	2003-11-07	Alkaclean 50	Anders          	Eriksson                        	2003-11-07	741
153	228-03	2003-11-07	Alkaclean 50	Dean            	Zenzerovic                      	2003-11-07	740
152	227-03	2003-11-06	Trollull 000	Christer        	Ekstrand                        	2003-11-07	739
152	227-03	2003-11-06	Trollull 000	Anders          	Eriksson                        	2003-11-07	738
152	227-03	2003-11-06	Trollull 000	Tommie	Nilsson	2003-11-06	737
152	227-03	2003-11-06	Trollull 000	Dean            	Zenzerovic                      	2003-11-06	736

Mainid är första värdet.
Så jag skulle bara vilja ha två rader som resultat.
En för 153 och en för 152.

MvH

David

LarsGMedlem sedan dec. 200012 465 inlägg
#3
SELECT PU_logglista_rader.Mainid, 
   PU_logglista_huvud.Lopnr, 
   PU_logglista_huvud.Startdatum, 
   PU_logglista_huvud.Namn, 
   users.Fornamn, 
   users.Efternamn, PU_logglista_rader.Datum,     
   PUL.Id
  FROM users INNER JOIN PU_logglista_rader  as PUL
   ON users.ID = PU_logglista_rader.Person 
    INNER JOIN PU_logglista_huvud 
    ON PU_logglista_rader.Mainid = PU_logglista_huvud.Id
where Id in (
select max(id) 
   from PU_logglista_rader
  where mainid = pul.mainid )
ORDER BY PU_logglista_rader.Mainid DESC, PU_logglista_rader.Datum DESC, 
PU_logglista_rader.Id DESC
wazidMedlem sedan maj 2001166 inlägg
#4

Bockar och bugar för hjälpen.
Det fungerar perfekt!

David

Genererad på 376 ms · cache AV · v20260730165559-full.f96bc7eb