---
title: "SQL för att visa poster med sammavärde"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/154347-sql-för-att-visa-poster-med-sammavärde"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "devotion"
published: "2006-11-29T18:41:39.000Z"
updated: "2006-12-04T22:46:24.000Z"
replies: 13
views: 562
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/154347-sql-för-att-visa-poster-med-sammavärde"
---

# SQL för att visa poster med sammavärde

## #1 — devotion, 2006-11-29T18:41Z

Hej!

Hur gör jag för att visa alla poster där det finns andra som har samma taskNr :OO ?

Dvs om posten 1 har taskNr 100 ska den inte visas

Om däremot posterna 2, 3 och 4 har taskNr 200 ska de listas:

```
Id          task             taskNr
-----------------------------
2           Installation    200
3           Installation    200
4           Installation    200
-----------------------------
```

Anväder SQLExpress

Mvh
Henrik

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

## #2 — Pedda, 2006-11-29T18:47Z

select \* from tabellen where taskNr = 200

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

## #3 — devotion, 2006-11-29T18:58Z

> **Pedda skrev:**
>
> select \* from tabellen where taskNr = 200

:D
Jag kanske uttryckte mig otydligt...  Den hade jag klarat själv ;)  

Jag vill även visa:

```
Id          task             taskNr
-----------------------------
2           Installation    200
3           Installation    200
4           Installation    200
5           Koppling        300
6           Koppling        300
7           Renovering    400
8           Renovering    400
-----------------------------
```

Dvs jag vill visa de poster där det finns andra poster som har samma tasknr (flera poster med samma taskNr) Men inte de poster där det bara finns en post med samma taskNr...

Mvh
Henrik

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

## #4 — @nders, 2006-11-29T19:00Z

Om jag förstår rätt:

```
SELECT * FROM tbl WHERE tasknr IN 
     ( SELECT tasknr FROM tbl
       GROUP BY tasknr
       HAVING COUNT(*) > 1 )
```

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

## #5 — devotion, 2006-11-29T19:09Z

> **@nders skrev:**
>
> Om jag förstår rätt:
>
> ```
> SELECT * FROM tbl WHERE tasknr IN 
>      ( SELECT tasknr FROM tbl
>        GROUP BY tasknr
>        HAVING COUNT(*) > 1 )
> ```

Klart du förstår rätt.....  :) 

Mvh
Henrik

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

## #6 — devotion, 2006-12-04T19:33Z

Hej! :)

Kan man utveckla den frågan lite...

Grunden som innnan, men:

> jag vill visa de poster där det finns andra poster som har samma tasknr (flera poster med samma taskNr) Men inte de poster där det bara finns en post med samma taskNr. och inte de poster där inte status = 4

Dvs om jag får träff med ovanstående fråga vill jag inte visa de poster med samma taskNr som har olika status.

Blev det krångligt?

Mvh
Henrik

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

## #7 — Peter S, 2006-12-04T20:08Z

```
SELECT * FROM tbl t WHERE tasknr IN 
     ( SELECT tasknr FROM tbl
       GROUP BY tasknr
       HAVING COUNT(*) > 1 )
 AND
     ( select count(distinct status)
       from tbl
       where taskNr = t.taskNr ) = 1
```

?

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

## #8 — devotion, 2006-12-04T20:20Z

Hmm... Jag vet att det är svårt att förklara...

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

## #9 — devotion, 2006-12-04T20:50Z

Jag ska försöka göra en grafisk beskrivning!

```
Id          task             taskNr      Status
---------------------------------------
2           Installation    200          4
3           Installation    200          4
4           Installation    200          4
5           Koppling        300          3
6           Koppling        300          4
7           Renovering    400          3
8           Renovering    400          3
9           Nybyggnad    500          4
10          Nybyggnad     500         4
-----------------------------
```

I ovanstående tabell skall följande poster visas:

```
2           Installation    200          4
3           Installation    200          4
4           Installation    200          4
9           Nybyggnad    500          4
10          Nybyggnad     500         4
```

Därför de är dubletter (samma taskNr) och de har endast statusen 4 (dvs det finns inga andra poster med samma taskNr som har någon annan status än 4)

Mvh
Henrik

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

## #10 — emission, 2006-12-04T21:38Z

Lite snurrigt, men är det inte så enkelt som

```
SELECT * FROM tbl WHERE tasknr IN 
     ( SELECT tasknr FROM tbl 
       GROUP BY tasknr
       HAVING COUNT(*) > 1 )
AND tasknr NOT IN 
     ( SELECT tasknr FROM tbl 
       WHERE status<>4)
```

Det finns ett antal syntaktiska varianter på denna SQL-sats, men principen kanske blir tydligast så här.

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

## #11 — Peter S, 2006-12-04T22:13Z

Enklast är väl att lägga till ett villkor i originalkoden

```
SELECT * FROM tbl WHERE tasknr IN 
     ( SELECT tasknr FROM tbl
       where status = 4
       GROUP BY tasknr
       HAVING COUNT(*) > 1 )
```

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

## #12 — devotion, 2006-12-04T22:25Z

> **Peter S skrev:**
>
> Enklast är väl att lägga till ett villkor i originalkoden
>
> ```
> SELECT * FROM tbl WHERE tasknr IN 
>      ( SELECT tasknr FROM tbl
>        where status = 4
>        GROUP BY tasknr
>        HAVING COUNT(*) > 1 )
> ```

  :h 

Hmmm, det kanske det är! Testade emissions förslag, och det verkar fungera.. Ska testa ditt oxå Peter S!  :) 

Mvh
Henrik

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

## #13 — Peter S, 2006-12-04T22:40Z

Nevermind... Jag konstaterar att jag missuppfattat uppgiften.

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

## #14 — devotion, 2006-12-04T22:46Z

> **Peter S skrev:**
>
> Nevermind... Jag konstaterar att jag missuppfattat uppgiften.

Aha!  Jag kör på emissions förslag då...  :moose

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/154347-sql-för-att-visa-poster-med-sammavärde
