---
title: "Lista kommentarer till nyheter"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/176810-lista-kommentarer-till-nyheter"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "janfang"
published: "2009-02-10T07:59:07.000Z"
updated: "2009-02-10T10:40:47.000Z"
replies: 2
views: 322
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/176810-lista-kommentarer-till-nyheter"
---

# Lista kommentarer till nyheter

## #1 — janfang, 2009-02-10T07:59Z

Hej
Jag behöver hjälp med en sql-sats som hämtar ut kommentarer till olika nyheter i en lista. Jag har två tabeller, nyheter och kommentarer. Jag skulle vilja lista alla nyheter i en lista med antalet kommentarer och senaste kommentaren till nyheten på detta sätt:

```
Nyhet		Kommentarer	Senaste
=================================================================
NYHET1		5 kommentarer	2009-02-09 08:00:00 Kalle skrev "hej, en kommentar"

NYHET2		2 kommentarer	2009-02-09 09:00:00 Kalle skrev "hej , en kommentar till"

NYHET3		10 kommentarer	2009-02-07 09:00:00 Pelle skrev "hej"
```

Databas: MSSQL
Databasstruktur:

```
Nyheter
===============
nyhetId
nyhetRubrik
nyhetBild

Kommentarer
===============
kommentarId
kommentarNyhetsId
kommentarDatum
kommentarNamn
kommentarInnehall (text)
```

Har ni något tips på hur jag ska utforma SQL-satsen?
mvh
Jan

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

## #2 — LarsG, 2009-02-10T09:44Z

```
select n.nyhetRubrik,
       (select count(*) 
          from kommentarer
         where kommentarNyhetsid = n.nyhetid) +
       case when (select count(*) 
          from kommentarer
         where kommentarNyhetsid = n.nyhetid) = 1 then ' Kommentar' 
           else ' kommentarer' end as kommentarer,
       k.kommentarDatum,
       k.kommentarInnehåll
  from nyheter as n
  left joinkommentarer as k on n.nyhetId = k.kommentarNyhetsId
   and k.kommentarDatum = 
      (select max(kommentarDaum)
         from kommentarer as kk
        where k.kommentarNyhetsId = kk.kommentarNyhetsId)
```

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

## #3 — janfang, 2009-02-10T10:40Z

Tack så mycket för hjälpen! Det fungerar perfekt!

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/176810-lista-kommentarer-till-nyheter
