webForumDet fria alternativet

Undvika dubbleter

4 svar · 618 visningar · startad av saw

sawMedlem sedan mars 20011 880 inlägg
#1

Jag skulle vara väldigt tacksam om någon kunde hjälpa mig här.
Jag får en massa dubbleter.

SELECT DISTINCT 
t_anstPerson.Id, t_anstPerson.Namn, t_anstTjanst.tjanst, t_Order.klart
FROM (t_Order 
RIGHT JOIN t_anstPerson ON t_Order.AnstNr = t_anstPerson.AnstNr) 
INNER JOIN t_anstTjanst ON t_anstPerson.Id = t_anstTjanst.anId
WHERE t_anstTjanst.tjanst="Hemservice" 
AND t_Order.klart Is Null 
OR t_Order.klart=True;

Här finns alltså tre tabeller som är i relation med varandra.
t_anstPerson där alla personuppgifterna finns.
t_anstTjanst där personens olika tjänster finn(det kan vara en eller flera
tjänster).
Slutligen så finns t_Order där jag i detta fallet frågar om Klart är
sant eller om det är null. Det är här som det strular. Om jag tog bort denna
tabellen så blir det inga dubbleter, men om Klart ine är sant, då jobbar
personen, eller om Klart är null då har personen tidigare inte jobbat, och
skall alltså vara möjligt att välja.

Jag hoppas att det blev lite klarare nu (eller luddigare).

Hur bör jag göra?

Peter SMedlem sedan dec. 20025 483 inlägg
#2

Om en person förekommer flera gånger i t_Order så är det ju fullt möjligt att du får olika värden i t_Order.klart för den personen. Vilken rad av dessa vill du inte ha med i det slutliga resultatet?

sawMedlem sedan mars 20011 880 inlägg
#3

Om vi vänder på det. Jag vill ha med id namn tjänst(i detta fallet "Hemservice") där
personen är klar(dvs Klart=true) eller där personen inte har börjat jobba än(Klart=null).

Blev det galet för dig nu?

Peter SMedlem sedan dec. 20025 483 inlägg
#4

Då vänder jag också på det ;) Kan du ge ett exempel på hur en dublett ser ut?

WHERE t_anstTjanst.tjanst="Hemservice" 
AND (t_Order.klart Is Null 
OR t_Order.klart=True);
sawMedlem sedan mars 20011 880 inlägg
#5

Hehe, Det är när Krister Lat förekommer 3 ggr i listan, Lennart Söder 3ggr osv
Men du hittade felet, nu fungerar det kanon.

266 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
136 ms — hämta forumlista (db)
123 ms — hämta statistik (db)
135 ms — hämta tråd, inlägg och bilagor (db)