---
title: "Hjälp med en SQL fråga"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/184525-hjälp-med-en-sql-fråga"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "UrMe"
published: "2010-09-03T09:32:00.000Z"
updated: "2010-09-06T06:38:04.000Z"
replies: 2
views: 570
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/184525-hjälp-med-en-sql-fråga"
---

# Hjälp med en SQL fråga

## #1 — UrMe, 2010-09-03T09:32Z

Jag har 2 tabeller som ser ut så här:

**node:** 
nid \| type \| title \| created
1 \| image \| image1 \| 112222222323
2 \| image \| image 2 \| 112222233333
3 \| gallery \| gallery1 \| 111222222222
4 \| image \| image3 \| 111223232323
5 \| gallery \| gallery2 \| 22222222222

**node_galleries:**
gid \| nid
3 \| 1
3 \| 2
5 \| 4

Jag vill lista ut de 5 gallerierna som senast har en bild tillagd till sig. Så jag sorteringen ska ske på bildens created kolumn.

Har skrivit denna SQL-fråga:

```php
     $query = "SELECT ng.gid, n.nid, n.created, n2.title FROM ".
     "{node} n INNER JOIN {node_galleries} ng ON n.nid = ng.nid INNER JOIN {node} n2 ON ng.gid = n2.nid ".
     "WHERE n.type = 'node_gallery_image' ".
     "GROUP BY ng.gid ". 
     "ORDER BY n.created DESC ".
     "LIMIT 0,5 ";
```

Denna listar ut gallerierna men datumet plockas inte från senaste tillagda bilden, utan den blir från den första tillagda.

Jag kan ju sätta MAX(n.created) as created men då får jag ändå inte samma n.nid etc.

Förstår inte hur jag ska göra, någon som har ett tips?

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

## #2 — LarsG, 2010-09-03T13:52Z

```
select node_galleries.gid, 
       node.nid, 
       node.created,
       node.title 
  from node
  join node_galleries
    on node.nid = node_galleries.nid 
 where node.created in
      (select max(created)
         from node n
         join node_galleries ng 
           on n.nid = ng.nid
        where ng.gid = node_galleries.gid)
          and n.type = 'node_gallery_image')
   and node.type = 'node_gallery_image'
 order by node.created desc 
 limit 0,5
```

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

## #3 — UrMe, 2010-09-06T06:38Z

Hmm frågan fungerar, men kanske inte skrev att jag vill inte ha ut ett galleri två gånger på dessa 5 gallerier, utan galleriet ska vara unikt. Dvs om de 5 senaste bilderna är i galleri X så ska bara galleri X listas 1 gång ändå.

EDIT: Hmm om created är exakt samma på två bilder i ett galleri så listar den galleriet två gånger.

EDIT: En "fullösning" på det är kanske att gruppera på node_galleries.gid bara?

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/184525-hjälp-med-en-sql-fråga
