---
title: "Vill ha en post i recordsetet, oavsett antal bilder i artikeln"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/124838-vill-ha-en-post-i-recordsetet-oavsett-antal-bilder-i-artikeln"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "JonasG"
published: "2005-03-21T21:08:09.000Z"
updated: "2005-03-22T11:17:39.000Z"
replies: 8
views: 475
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/124838-vill-ha-en-post-i-recordsetet-oavsett-antal-bilder-i-artikeln"
---

# Vill ha en post i recordsetet, oavsett antal bilder i artikeln

## #1 — JonasG, 2005-03-21T21:08Z

Efter att ha letat runt ordentligt på webforum utan att hitta svaret, frågar jag nu. Svaret finns här säkert, men jag har inte lyckats läsa ut det, är lite för dålig på SQL än så länge...

Har en artikel-tabell och en bild-tabell. För varje artikel kan det finnas ingen eller flera bilder. Dessa identifieras ihop med artikel.id = bild.artikelId.

Jag vill nu få upp en lista över alla artiklar och bara vet om artikeln har någon bild eller ej, kvittar hur många.

```php
SELECT artikel.id, bild.bild FROM artikel
LEFT JOIN bild ON bild.artikelId = artikel.id
ORDER BY id DESC
```

Det fungerar ju bra, men recordsetet innehåller då lika många poster för samma artikel, som artikeln har bilder.

Hur löser jag detta? Jag vill bara veta alltså om artikeln har några bilder eller ej. Kikat runt på IN och CASE och tjoflöjt men inte hittat det klockrena exemplet där till och med jag förstår.

Måste köpa en SQL-bok och börja från grunden...

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

## #2 — Jesper T, 2005-03-21T21:24Z

```
SELECT distinct artikel.id, bild.bild, 
CASE WHEN bild.artikelId IS NULL THEN 'Ingen bild' ELSE 'Bild' END AS bild 
FROM artikel
LEFT JOIN bild ON bild.artikelId = artikel.id
ORDER BY id DESC
```

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

## #3 — JonasG, 2005-03-21T21:31Z

Tack för svaret.
Men enda skillnaden för mig blir den att "bild" blir "Bild" eller "Ingen bild".
Fortfarande visas samma artikel flera gånger i rec-setet, så många gånger som den har bild. Och i de fall det inte finns någon bild, eller en bild, bara en gång naturligtvis.

Distinct har alltså ingen funktion i mitt läge? Detta eftersom det är olika bilder. Byter jag namn i tabellen på en bild, så att en artikel innehåller två bilder som heter samma sak, då går distinct in och visar bara en.

Jag vill ha en distinct som gör att artikel.id bara blir en. Så att säga.

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

## #4 — Jesper T, 2005-03-21T21:47Z

```
SELECT artikel.id, bild.bild, 
CASE WHEN exists(SELECT artikelId FROM bild WHERE bild.artikelId = artikel.id) THEN 'Bild' ELSE 'Ingen bild' END AS bild
FROM artikel
ORDER BY id DESC
```

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

## #5 — Jesper T, 2005-03-21T21:57Z

1\. Tänk på att det finns ett sql-forum här på WF.
2\. Uppge alltid DBMS (mySql innan 4.x (har jag för mig) fixar inte subquerys)

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

## #6 — JonasG, 2005-03-21T22:08Z

Ja tråden hade nog passat bättre i sql-forumet. Svårt att skilja på saker när man sitter och knackar. :-P

Får ett fel meddelande med din senaste kod.

```
Du har något fel i din syntax nära 'exists(SELECT artikelId FROM bild WHERE bild.artikelId = artikel.id) THEN
```

Jag har tydligen MySQL 4.0.18-max-debug på min burk. Men den skall klara subquerys alltså?

Förmodligen skall koden köras på Loopia.se till slut men de lär väl ha en uppdaterad MySQL.

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

## #7 — LarsG, 2005-03-22T08:06Z

```
SELECT artikel.id, case count(bild.artikelId) 
when 0 then 'Ingen bild' else 'Det finns bilder' end
FROM artikel
LEFT JOIN bild ON bild.artikelId = artikel.id
group by artikel.id
ORDER BY id DESC
```

Flyttas från ASP

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

## #8 — JonasG, 2005-03-22T08:49Z

Förståss!
Tack tack.
Group by fixade ju allt.

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

## #9 — Jesper T, 2005-03-22T11:17Z

Group by måste du ha med när du mixar in count i frågan på det viset, ja.

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/124838-vill-ha-en-post-i-recordsetet-oavsett-antal-bilder-i-artikeln
