---
title: "Fel i SQL-sats"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/9635-fel-i-sql-sats"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "jepsO"
published: "2001-05-21T16:40:00.000Z"
updated: "2001-05-21T16:58:00.000Z"
replies: 3
views: 233
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/asp/9635-fel-i-sql-sats"
---

# Fel i SQL-sats

## #1 — jepsO, 2001-05-21T16:40Z

Jag försöker fixa sidindelning till mitt forum, men det buggar en smula. Här är SQL-satsen:

```
SELECT newthreads.*, replies.repID, replies.ReplyOrder, replies.lvl, replies.repAuth, replies.repSubj, replies.repMsg, replies.repDatumtid, replies.repMember 
FROM newthreads 
LEFT JOIN replies ON newthreads.newID = replies.newID 
[b]WHERE NOT newthreads.newID IN (SELECT TOP 10 * FROM newthreads ORDER BY newID)[/b]
ORDER BY newthreads.newID DESC, replies.ReplyOrder
```

**page** är den nuvarande sidan "minus ett", dvs sida 1 = page 0. **PerPage** är en variabel som bestämmer antalet inläggstrådar per delsida. F.n. ligger den på 10.

Jag försöker alltså selecta alla inläggstrådar utom de \[page\*PageNum\] första. Allt funkar fint utom *WHERE newthreads.newID NOT IN (SELECT TOP 10 \* FROM newthreads ORDER BY newID)*.

Först tänkte jag använda rs.Move page\*PerPage innan jag loopade fram alla poster, men det fungerar ju inte när jag selectar både inläggstrådar (newthreads) och svar (replies) i samma recordset.

Finns det kanske rentav ett bättre sätt att göra detta?

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

## #2 — @nders, 2001-05-21T16:52Z

du kan ju inte jämföra newID mot alla fält. prova detta:

```
WHERE NOT newthreads.newID IN (SELECT TOP 10 newID FROM newthreads ORDER BY newID)
```

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

## #3 — LarsG, 2001-05-21T16:54Z

Du kan inte använda \* i subselecten. 

```
SELECT newthreads.*, replies.repID, replies.ReplyOrder, replies.lvl, replies.repAuth, replies.repSubj, replies.repMsg, replies.repDatumtid, replies.repMember 
FROM newthreads 
LEFT JOIN replies ON newthreads.newID = replies.newID 
WHERE newthreads.newID not IN (SELECT TOP 10 newID FROM newthreads ORDER BY newID)
ORDER BY newthreads.newID DESC, replies.ReplyOrder
```

Om du placerar NOT vid IN eller inte har ingen betydelse men jag tycker att det är tydligare att skriva så som jag gjort.

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

## #4 — jepsO, 2001-05-21T16:58Z

Kom på det :)
Jag var dock tvungen att leka lite till, eftersom **SELECT TOP 0** inte fungerade så bra. Tack iaf för hjälpen - jag har en tendens att lösa problem *efter* att ha frågat om hjälp med *innan* svaret på frågan kommit :).

Resultatet finns iaf på  <http://bwsm.cjb.net/> .

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/9635-fel-i-sql-sats
