---
title: "komplicerad select sats/utskriftsloop"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/21669-komplicerad-select-sats-utskriftsloop"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "rollo"
published: "2001-10-11T09:25:00.000Z"
updated: "2001-10-11T10:34:00.000Z"
replies: 2
views: 145
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/21669-komplicerad-select-sats-utskriftsloop"
---

# komplicerad select sats/utskriftsloop

## #1 — rollo, 2001-10-11T09:25Z

Hej!

Jag hade 30 tabeller innan, nu siktar jag på 5! Nu har jag en huvudtabell som heter db_h som innehåller räknar, id, identifierare, avd, samt en andra identifierare vad. db_i är innehållstabellen som innehåller 1 räknare, id, som referens till db_h samt fält för inmatning.

Men, vid mitt första test så fick jag lite problem med looparna som skriver ut resultat på asp-sidan.

```
	tmp_nyheter = "'Nyheter'"
	SQL = "SELECT * FROM db_h WHERE vad = "& tmp_nyheter

	Set DataConn = Server.CreateObject("ADODB.Connection")
	DataConn.Open Application("koppling")
    Set cmdTemp = Server.CreateObject("ADODB.Command")
    Set a2 = Server.CreateObject("ADODB.Recordset")
	cmdTemp.CommandText = SQL
    Set cmdTemp.ActiveConnection = DataConn
    a2.Open cmdTemp, , 1, 1
```

Denna söker genom db_h efter nyheter för olika avdelningar, funkar bra.

```
		<% Do until a2.EOF
		
		
		tmp_datum = date
		tmp_tid = time
		tmp_tid2 = Left((time),5)
		tmp_test = tmp_datum + tmp_tid
		tmp_test2 = "'"& tmp_test &"'"
		tmp_id = a2("id")

		SQL2 = "SELECT * FROM db_i WHERE t_id = "& tmp_id
		SQL2 = SQL2 &"AND falt04 <= "& tmp_test2
		SQL2 = SQL2 &"ORDER BY falt04 desc"

		Set DataConn = Server.CreateObject("ADODB.Connection")
		DataConn.Open Application("koppling")
		Set cmdTemp = Server.CreateObject("ADODB.Command")
		Set a1 = Server.CreateObject("ADODB.Recordset")
		cmdTemp.CommandText = SQL2
		Set cmdTemp.ActiveConnection = DataConn
		a1.Open cmdTemp, , 1, 1		
		%>

      	<% i = 1 %>
		<% Do until a1.EOF%>
		<%i = i + 1%>

<%=a1("falt01")%>
    <%
	a1.MoveNext
	Loop	
	%>
		<%
		a2.MoveNext
		Loop	
		%>
```

Här hämtar jag nyheterna som är lagrade i db_i och identifieras med t_id som är en referens till id i db_h

Finns det något sätt att få a1-loopen att skriva ut resultatet efter min ORDER BY ?

Nu går den på den första selectsatsens resultat, dvs ordningen på avdelningarna som nyheterna tillhör!

rollo

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

## #2 — LarsG, 2001-10-11T09:38Z

Join är lösningen på alla dina problem.

```
tmp_nyheter = "'Nyheter'"
tmp_datum = date
tmp_tid = time
tmp_tid2 = Left((time),5)
tmp_test = tmp_datum + tmp_tid
tmp_test2 = "'"& tmp_test &"'"
SQL = " select * from db_i " & _
 " where t_id in (SELECT id  FROM db_h WHERE vad = "& tmp_nyheter & ")" & _
 " AND falt04 <= "& tmp_test2 & _
 " ORDER BY falt04 desc"
Set DataConn = Server.CreateObject("ADODB.Connection")
DataConn.Open Application("koppling")
Set cmdTemp = Server.CreateObject("ADODB.Command")
Set a2 = Server.CreateObject("ADODB.Recordset")
cmdTemp.CommandText = SQL
Set cmdTemp.ActiveConnection = DataConn
a2.Open cmdTemp, , 1, 1
i = 0

Do until a2.EOF
i = i + 1 %>
<%=a2("falt01")%>
<%
a2.MoveNext

Loop 
%>
```

Så blir det lite mindre kod

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

## #3 — rollo, 2001-10-11T10:34Z

YES!!

Den funkade!

Du är klippa LarsG!

Om du varit här, och tjej, hade jag kysst dig!

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/21669-komplicerad-select-sats-utskriftsloop
