---
title: "får ut dubletter"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/172366-får-ut-dubletter"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Vinnaren"
published: "2008-06-24T17:06:39.000Z"
updated: "2008-06-24T19:54:25.000Z"
replies: 14
views: 521
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/172366-får-ut-dubletter"
---

# får ut dubletter

## #1 — Vinnaren, 2008-06-24T17:06Z

Har följande:

```
SELECT e.EventId, e.NeedEntries, e.Header, e.Message, CONVERT(VARCHAR(11), e.Date, 113) AS Date,

(SELECT COUNT(ChildId) FROM ChildToEvent WHERE ChildId = @ChildId AND EventId = e.EventId AND Status = 1)
 as Status,

CASE
WHEN e.Date < getdate() then 'past'
WHEN e.Date = getdate() then 'today'
ELSE 'coming' END AS DateStatus,

d.Name AS DepartmentName,

ISNULL((SELECT Message FROM ChildToEvent WHERE ChildId = @ChildId AND EventId = e.EventId), '') AS ChildMessage

FROM Event AS e

INNER JOIN EventToDepartment AS etd
ON e.EventId = etd.EventId

INNER JOIN Department AS d
ON etd.DepartmentId = d.DepartmentId

WHERE (d.PreschoolId = @SchoolId OR @SchoolId = 0)
AND (etd.DepartmentId = @DepartmentId OR @DepartmentId = 0)
AND (DatePart("ww", e.Date) = @Week OR @Week = 0)
AND (YEAR(e.Date) = @Year OR @Year = 0)

GROUP BY e.Header, e.Message, e.Date, e.EventId, e.NeedEntries, d.Name
ORDER BY e.Date DESC
```

Problemet är att jag får ut tre likadana event, jag vill bara ha ut samma event endast en gång. Antar att det är:
INNER JOIN EventToDepartment AS etd
ON e.EventId = etd.EventId

som spökar, finns tre rader där.

Någon som har en lösning??

Tacksam för all hjälp   :stud

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

## #2 — Peter S, 2008-06-24T18:38Z

Lägg till DISTINCT om de resultatrader du får är identiska.

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

## #3 — Vinnaren, 2008-06-24T18:54Z

tack, men det e redan provat, det hjälper inte :(

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

## #4 — Peter S, 2008-06-24T18:55Z

Då är inte raderna identiska m.a.o?

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

## #5 — Vinnaren, 2008-06-24T19:04Z

de är exakt likadana, bortsett från en sak, varje event hämtas ut men med olika DepartmentId, dvs nyheten visas en gång för varje department.

Måste ju gå o lösa så att varje EventId enbart visas en gång?

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

## #6 — Peter S, 2008-06-24T19:06Z

Ja, ta bort departmentId eftersom den inte verkar behövas. Annars måste du bestämma dig för vilket departmentId som skall visas.

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

## #7 — Vinnaren, 2008-06-24T19:13Z

mjo, men problemet ligger här då:
AND (etd.DepartmentId = @DepartmentId OR @DepartmentId = 0)
När @DepartmentId = 0 då vill jag ju få ut eventet en gång, skickar jag in 0 nu så blir det fel. Borde väll finnas någon lösning för detta?

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

## #8 — Peter S, 2008-06-24T19:19Z

Förresten, med departmentId menar du departmentName? Jag kan inte se någon departmentId i SELECT-listan.

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

## #9 — Vinnaren, 2008-06-24T19:21Z

oj, ja det e departmentName jag menar :S

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

## #10 — Peter S, 2008-06-24T19:24Z

Okej :)

Av de rader du får ut nu, spelar det någon roll vilket departmentName som visas?

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

## #11 — Vinnaren, 2008-06-24T19:39Z

nej, det kvitar

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

## #12 — Peter S, 2008-06-24T19:42Z

Då kan du ta bort det fältet helt från SELECT- och GROUP BY-listan och problemet är löst :)

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

## #13 — Vinnaren, 2008-06-24T19:48Z

ok, tack, nu fungerar det. 

En liten fundering på samma sql-fråga.

Har en variabel @Unit, när den inte = 0 så ska så många poster visas som @Unit innehåller, annars ska samtliga poster visas.

Går det att lösa?

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

## #14 — Peter S, 2008-06-24T19:49Z

Då får du nog bygga upp SQL-frågan dynamiskt och inkludera TOP om @Unit != 0.

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

## #15 — Vinnaren, 2008-06-24T19:54Z

ok, tack, får försöka :D

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/172366-får-ut-dubletter
