---
title: "Loopa två olika sql-satser"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/63806-loopa-två-olika-sql-satser"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Karlsson"
published: "2003-01-04T01:06:13.000Z"
updated: "2003-01-04T16:12:41.000Z"
replies: 13
views: 240
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/63806-loopa-två-olika-sql-satser"
---

# Loopa två olika sql-satser

## #1 — Karlsson, 2003-01-04T01:06Z

Jag har två DIV:ar på min sida där jag skulle vilja loopa två olika sql-satser, till vänster skulle jag vilja loopa topp-5 från en databas, och till höger resten.
Har provat med:

```
sSQL="SELECT TOP 5 * FROM texter WHERE content = '"& content &"' ORDER BY datum DESC"

sSQL2="SELECT FROM texter WHERE ID NOT IN (SELECT TOP 5 ID FROM texter ORDER BY datum DESC)
```

Om jag nu, mot förmodan skulle få sql-satsen att funka, går det då att skriva ut dom med två olika loopar, och isf hur i hela friden skulle det då se ut???

/MK

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

## #2 — crisse6, 2003-01-04T01:11Z

Att gora loopar i varandra har jag fatt lara mig att det ar inte bra!! Men det gar, men blir prestandakravande... fragan ar det om det inte gar att gora nagon sorts kombination i samma sql? jag vet ej

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

## #3 — Karlsson, 2003-01-04T01:14Z

Mitt största bekymmer är egentligen att jag får en bild som också loopas i den högra div:en, det är bl.a. därför jag pysslar med detta.
Just nu verkar det iaf vara den andra sql-satsen den klagar på...
:-(

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

## #4 — crisse6, 2003-01-04T01:24Z

du far felmess alltsa? skriv det och skriv ut bada dina sql satser (response.write sSQL och sSQL2 innan execute)

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

## #5 — Karlsson, 2003-01-04T01:28Z

Jodu, men inte nu!
:-)
Gonatt jord

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

## #6 — crisse6, 2003-01-04T04:07Z

jaha..... hmm... du far la posta nar du gar upp igen... Tank pa att crisse ar alltid vaken nar ni andra sover... :) 

"Erat snus i gryningen... - crisse6"

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

## #7 — OveRRidE, 2003-01-04T10:18Z

> Att gora loopar i varandra har jag fatt lara mig att det ar inte bra!!

Sant crisse, men jag tror du missuppfattar hans fråga lite. :)

Du har egentligen inte något annat alternativ än att skapa två olika recordset och sedan använda de vanliga metoderna för visning på respektive datamängd.

```
sSQL="SELECT TOP 5 * FROM texter WHERE content = '"& content &"' ORDER BY datum DESC"
sSQL2="SELECT FROM texter WHERE ID NOT IN (SELECT TOP 5 ID FROM texter ORDER BY datum DESC)
set rs = conn.execute(sSQL)
set rs2 = conn.execute(sSQL2)

if not rs.eof then
  do until rs.eof 
    response.write rs(0) & "<br>"
  rs.movenext
  loop
end if

if not rs2.eof then
  do until rs2.eof 
    response.write rs2(0) & "<br>"
  rs2.movenext
  loop
end if

set rs = nothing
set rs2 = nothing
```

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

## #8 — Karlsson, 2003-01-04T10:43Z

Det löser sig, sa han som sket i vasken...
Fast kanske ändå inte!
Hade glömt öppna ett ADODB.Recordset för rs2... stryk skulle jag ha minsann.
Men nu klagar sidan på själva SQL-satsen igen, har provat ett otal varianter, just nu:

```
sSQL2="SELECT FROM texter WHERE id NOT IN (SELECT TOP 3 id FROM texter ORDER BY datum DESC)"
```

Även:

```
sSQL2="SELECT FROM texter WHERE content = '"& content &"' AND ID NOT IN (SELECT TOP 3 id FROM texter WHERE content = '"& content &"' ORDER BY datum DESC)"
```

men får följande felmess:

```
Microsoft OLE DB Provider for ODBC Drivers fel '80040e14' 

[Microsoft][Drivrutin för ODBC Microsoft Access] SELECT-uttrycket innehåller ett reserverat ord eller argument som antingen är felstavat eller utelämnat, eller så är skiljetecknen felaktigt använda.
```

Hå hå, ja ja

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

## #9 — OveRRidE, 2003-01-04T11:08Z

Reserverade ord skall man akta sig för i SQL. :)

```
sSQL2="SELECT FROM [texter] WHERE id NOT IN (SELECT TOP 3 id FROM [texter] ORDER BY [datum] DESC)"

sSQL2="SELECT FROM [texter] WHERE [content] = '"& content &"' AND ID NOT IN (SELECT TOP 3 id FROM [texter] WHERE [content] = '"& content &"' ORDER BY [datum] DESC)"
```

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

## #10 — Karlsson, 2003-01-04T14:41Z

Är lite skeptisk till att det skulle vara det felet, men har iaf klamrat båda sql-satserna nu, postar lite kod få se om nåt av det kan bringa lite klarhet!

```
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
Set rs2 = Server.CreateObject("ADODB.Recordset")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\fjallsaker\databas\fjallsaker.mdb"
content=Request.Querystring("content")
sSQL="SELECT TOP 3 * FROM [texter] WHERE [content] = '"& content &"' ORDER BY [datum] DESC"
sSQL2="SELECT FROM [texter] WHERE [content] = '"& content &"' AND ID NOT IN (SELECT TOP 3 id FROM [texter] WHERE [content] = '"& content &"' ORDER BY [datum] DESC)"
%>
<img src="bilder/gfx/<%=rs("bild")%>.gif">
<%
If content = "nyhet" then
'*********************************************************************
'Gör allt som står härifrån och ner om det är nyhet som efterfrågas...
'*********************************************************************
rs.Open sSQL, Conn
Do While Not rs.EOF
%>	
<div id="left">
 		<p span style="margin-top: 0px"><b><%=rs("datum")%></b></span></p>
		<p class="blue18"><%=rs("rubrik")%></p>
		<p class="ingress"><%=rs("ingress")%></p>
		<p><%=rs("texter")%></p>
		<p><%=rs("forfattare")%></p>
		<p><hr width="100%"></p>
</div>
<%
rs.MoveNext
Loop
rs.Close
%>
<div id="right">
	<img src="bilder/gfx/rubrik_arkiv.gif" alt="rubrikbild arkiv" width="244" height="60" hspace="0" vspace="0"> 
 		<p><b><%=rs2("datum")%></b></p>
		<p class="rubliten10fet"><%=rs2("rubrik")%></p>
		<p><hr width="100%"></p>
</div>
<%
'*****************************************
'Här slutar if-satsen som gällde nyheterna
'*****************************************
```

Får följande meddelande:

```
ADODB.Recordset fel '800a0cc1' 

Item cannot be found in the collection corresponding to the requested name or ordinal.
```

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

## #11 — Josef, 2003-01-04T14:43Z

Att döma av felmeddelandet så har du fel kolummnamn någonstans.

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

## #12 — OveRRidE, 2003-01-04T15:38Z

Är du säker på att det felmeddelandet kommer från raderna med SQL-satserna på? Det kan komma från någon av dina anrop mot recordset:et längre ner, alltså när du skriver ut det.

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

## #13 — LarsG, 2003-01-04T15:57Z

I SQL2 så saknas \*

```
sSQL2="SELECT * FROM [texter]
```

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

## #14 — OveRRidE, 2003-01-04T16:12Z

> **LarsG skrev:**
>
> I SQL2 så saknas \*
> 
>
>
> ```
> sSQL2="SELECT * FROM [texter]
> ```

Gah. :OO För enkelt. ;)

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/63806-loopa-två-olika-sql-satser
