---
title: "Undvika dubbleter"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/170433-undvika-dubbleter"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "saw"
published: "2008-04-02T17:28:47.000Z"
updated: "2008-04-02T19:38:06.000Z"
replies: 4
views: 642
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/170433-undvika-dubbleter"
---

# Undvika dubbleter

## #1 — saw, 2008-04-02T17:28Z

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?

Permalänk: https://www.webforum.nu/p/170433

## #2 — Peter S, 2008-04-02T18:57Z

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?

Permalänk: https://www.webforum.nu/p/2095380

## #3 — saw, 2008-04-02T19:21Z

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?

Permalänk: https://www.webforum.nu/p/2095393

## #4 — Peter S, 2008-04-02T19:23Z

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);
```

Permalänk: https://www.webforum.nu/p/2095394

## #5 — saw, 2008-04-02T19:38Z

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.

Permalänk: https://www.webforum.nu/p/2095398

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/170433-undvika-dubbleter
