---
title: "Föregående och nästa post i SQL sats?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/138759-föregående-och-nästa-post-i-sql-sats"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Zaiman"
published: "2005-12-04T22:34:25.000Z"
updated: "2005-12-07T00:34:19.000Z"
replies: 22
views: 1267
page: 1
pages: 2
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/138759-föregående-och-nästa-post-i-sql-sats"
---

# Föregående och nästa post i SQL sats?

_Sida 1 av 2._

## #1 — Zaiman, 2005-12-04T22:34Z

Har idag en fråga som jag tänkte göra om så att jag får ut föregående,denna och nästa post. Om det nu finns någon föregående eller nästa post såklart.
Databas = Access, SQLServer 2000

```
		SQL= "SELECT id, Image_L, Image_text FROM tbl_Images WHERE id =" & Request.Querystring("ImageID")
```

Så ser frågan ut idag.. 

Och nej.. jag har inte sökt i forumet ännu.

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

## #2 — @nders, 2005-12-05T04:08Z

> Och nej.. jag har inte sökt i forumet ännu.

Då väntar vi tills du gjort det.

Använder du både Access och SQL Server 2000?

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

## #3 — Zaiman, 2005-12-05T08:17Z

Yepp, en version med access och en med SQL 2000.

Har nu sökt en del men inte hittat det jag sköker. Letar givetvis vidare...

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

## #4 — yohpops, 2005-12-05T08:37Z

Det går inte med ren SQL.
Och med den frågan borde du bara få en träff.

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

## #5 — Zaiman, 2005-12-05T08:43Z

Öööh...

> Det går inte med ren SQL.
> Och med den frågan borde du bara få en träff.

 

Självklart får jag bara en träff med min fråga idag. Men min fråga var ju hur jag ska skriva om den för att få ut föregående samt nästa post.

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

## #6 — @nders, 2005-12-05T08:48Z

Går väl alltid bra att lösa med en union?

```
select top 1 fld1, fld2, fld3 from tbl where id < 4711 order by id desc
union
select top 1 fld1, fld2, fld3 from tbl where id =4711
union
select top 1 fld1, fld2, fld3 from tbl where id >4711 order by id
```

edit: glömde *top 1* i all min iver.

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

## #7 — SB, 2005-12-05T08:49Z

Här är ett relevant forumsvar:

<http://www.webforum.nu/showthread.php?t=77790> 

  ;)

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

## #8 — SB, 2005-12-05T08:51Z

:o 

Oj, jag såg strax efteråt att svaret min länk pekar på kanske inte var det som riktigt efterfrågades. Sorry.

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

## #9 — Zaiman, 2005-12-05T09:12Z

@nders:

Jag förstår ditt svar men får det inte att fungera.
Kan det ha med att göra att id fältet är av datatypen uniqueidentyfier? Eller så skriver jag helt galet :)

Nåväl, klurar vidare..

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

## #10 — @nders, 2005-12-05T09:16Z

> Kan det ha med att göra att id fältet är av datatypen uniqueidentyfier?

Uh, ja... Hur ska man kunna veta vilken post som är förra / nästa då? Har du något datetime-fält?

Varför inte bara lägga in en vanlig räknare också?

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

## #11 — Zaiman, 2005-12-05T09:25Z

Plitade in ett id2 fält typen int. Räknar upp ett för för varje post.

Men jag får fel på raden där ordet union står..

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

## #12 — LarsG, 2005-12-05T09:27Z

Vad får du för fel då?

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

## #13 — Zaiman, 2005-12-05T09:30Z

Felmeddelande lyder:

Incorrect syntax near the keyword 'UNION'

**/red**
Frågan jag skrivit:
SELECT TOP 1 id2, Image_L, Image_text FROM tbl_Images WHERE id2 \> 7 order by id2 desc
UNION
SELECT TOP 1 id2, Image_L, Image_text FROM tbl_Images WHERE id2 = 7
union
SELECT TOP 1 id2, Image_L, Image_text FROM tbl_Images WHERE id2 \< 7 order by id2

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

## #14 — @nders, 2005-12-05T09:31Z

Och hur ser din kompletta SQL-fråga ut?

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

## #15 — Zaiman, 2005-12-05T09:35Z

Redigerade mitt tidigare inlägg. Osnabb som man är han @nders skriva innan redigeringen.

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

## #16 — @nders, 2005-12-06T03:41Z

Hmm... Får du alltså det felet med Access eller SQL Server?
Jag tycker det ser rätt ut, men jag har å andra sidan feber...

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

## #17 — Zaiman, 2005-12-06T07:48Z

SQL Server ..

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

## #18 — yohpops, 2005-12-06T11:47Z

Har du provat att ta bort den översta order by?

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

## #19 — Zaiman, 2005-12-06T15:00Z

Har nu provat att bara plocka ett fält:

```
SELECT TOP 1 id2 FROM tbl_Images WHERE id2 > 7 
UNION
SELECT TOP 1 id2 FROM tbl_Images WHERE id2 = 7
UNION
SELECT TOP 1 id2 FROM tbl_Images WHERE id2 < 7
```

Det ser nästan bra ut... Jag behöver lite fler villkor, dessa är inte problemet nu.
Utan, om jag väljer fler fält:

```
SELECT TOP 1 id2, image_text FROM tbl_Images WHERE id2 > 10 AND Gallery_name = 18
UNION
SELECT TOP 1 id2, image_text FROM tbl_Images WHERE id2 = 10 AND Gallery_name = 18
UNION
SELECT TOP 1 id2, image_text FROM tbl_Images WHERE id2 < 10 AND Gallery_name = 18
```

Så kommer följande fel:
Server: Msg 421, Level 16, State 1, Line 1
The ntext data type cannot be selected as DISTINCT because it is not comparable.

OBS!! Har bytt till SQL Server 2005 precis nu.
Ska prova köra frågan i SQL Server 2000 när jag kommer hem.

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

## #20 — LarsG, 2005-12-06T16:54Z

Top utan order by är meningslöst.

```
SELECT TOP 1 id2, image_text 
FROM tbl_Images 
WHERE id2 > 10 
AND Gallery_name = 18
order by id2 asc
UNION all
SELECT  id2, image_text 
FROM tbl_Images 
WHERE id2 = 10 
AND Gallery_name = 18
UNION all
SELECT TOP 1 id2, image_text 
FROM tbl_Images 
WHERE id2 < 10 
AND Gallery_name = 18
order by id2 desc
```

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/138759-föregående-och-nästa-post-i-sql-sats  
Nästa sida: https://www.webforum.nu/amne/databaser-sql/138759-föregående-och-nästa-post-i-sql-sats/page2.md
