---
title: "Avancerad select"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/21614-avancerad-select"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "aleborg"
published: "2001-09-20T14:08:00.000Z"
updated: "2001-09-21T14:30:00.000Z"
replies: 12
views: 189
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/21614-avancerad-select"
---

# Avancerad select

## #1 — aleborg, 2001-09-20T14:08Z

Jag läste här på forumet någonstans att man kunde köra en select sats i en select sats, jag sökte i forumet på (select och upptäckte att det finns en bugg i sökfunktionen här :e fick bara en vit sida!

MEN över till mitt problem...
Jag håller på med sök funktionen till ett forum, databasen ser ut ungefär så här:

DevTopics
\--TopicID
\--Title
\--Message
\--ReplyTo - om inlägget är ett svar så finns ID numret till det inlägg det är svar till annars null

```
SQL1="Select * From DevTopics Where "& Session("Field") &" Like '%"& Session("Search") &"%' And ReplyTo IS NULL Order By "& Session("sort3")
```

Så får jag fram alla "huvudinlägg" som innehåller sökningen, men om jag även vill inkludera "huvudinläggen" till dom svar som innehåller sökningen. hur gör jag då? Jag vill alltså inte ha fram svaren utan det inlägget svaret tillhör!

Har jag rört till det nu?

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

## #2 — aleborg, 2001-09-20T14:33Z

Typ nått sånt här:

```
SQL1="Select * From DevTopics Where "& Session("Field") &" Like '%"& Session("Search") &"%' And ReplyTo IS NULL AND ReplyTo IN (Select * From DevTopics Where "& Session("Field") &" Like '%"& Session("Search") &"%' And ReplyTo >0) Order By "& Session("sort3")
```

Men tyvärr funkade det inte :(

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

## #3 — aleborg, 2001-09-20T14:57Z

Försökte även med det här:

```
SQL1="Select * From DevTopics Where "& Session("Field") &" Like '%"& Session("Search") &"%' And ReplyTo IS NULL Union All Select [ReplyTo] From [DevTopics] Where ["& Session("Field") &"] Like '%"& Session("Search") &"%' And [ReplyTo] >0 Order By "& Session("sort3")
```

och fick samma fel:
Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

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

## #4 — LarsG, 2001-09-20T15:21Z

```
SQL1="Select * " & _
     "  From DevTopics " & _
     " Where ReplyTo IS NULL " & _
     "   AND TopicId in (Select replyto " &_
     "   From DevTopics " & _
     "  Where "& Session("Field") &" Like '%"& Session("Search") &"%' " &_
     "    And ReplyTo >0) " & _
    " Order By "& Session("sort3")
```

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

## #5 — LarsG, 2001-09-20T15:23Z

> Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

brukar vara ett fel i ADO, dvs innan man kommer till databasen. Det är förmodligen något fel i din VB-skriptkod.

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

## #6 — emission, 2001-09-20T15:39Z

```
SQL1="Select * From DevTopics Where (" & Session("Field") & " LIKE '%"& Session("Search") &"%' And ReplyTo IS NULL) OR [b]ID[/b] IN (Select ReplyTo From DevTopics Where " & Session("Field") & " LIKE '%" & Session("Search") & "%' AND ReplyTo >0) ORDER BY " & Session("sort3")
```

Vad var fel förut?

Jo..på den första varianten..

And ReplyTo IS NULL AND ReplyTo IN (Select \* From DevTopics

ReplyTo kan inte både vara NULL och samtidigt ingå i en IN-lista. Dessutom får en IN-lista endast returnera en kolumn, så man kan inte använda SELECT \*

Den andra...

När man kör UNION måste båda SELECT-satserna returnera exakt lika många kolumner, i rätt ordning, av rätt datatyp.

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

## #7 — aleborg, 2001-09-20T15:59Z

Haft samma fel på båda varianterna!
Och skäms, hade glömt ändra Conn.open så att den körde igång rätt SQL sats :r

Men din kod funkade emission, TACK

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

## #8 — aleborg, 2001-09-20T16:51Z

Där emot så på den här SQL satsen plockar den fram alla svaren också istället för inlägget som svaret tillhör :(

```
SQL1="Select DevTopics.* From DevTopics Join Users On Who = UserID Where (DevTopics.Title Like '%"& Session("Search") &"%' Or DevTopics.Message Like '%"& Session("Search") &"%' Or Users.Name Like '%"& Session("Search") &"%' And ReplyTo IS NULL) OR TopicID IN (Select DevTopics.ReplyTo From DevTopics Join Users On Who = UserID Where (DevTopics.Title Like '%"& Session("Search") &"%' Or DevTopics.Message Like '%"& Session("Search") &"%' Or Users.Name Like '%"& Session("Search") &"%' And ReplyTo >0)) Order By "& Session("sort3")
```

Vad är fel?

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

## #9 — LarsG, 2001-09-20T17:01Z

Kanske lite extra parenteser

```
SQL1="Select DevTopics.* From DevTopics Join Users On Who = UserID Where ((DevTopics.Title Like '%"& Session("Search") &"%' Or DevTopics.Message Like '%"& Session("Search") &"%' Or Users.Name Like '%"& Session("Search") &"%') And ReplyTo IS NULL) OR TopicID IN (Select DevTopics.ReplyTo From DevTopics Join Users On Who = UserID Where (DevTopics.Title Like '%"& Session("Search") &"%' Or DevTopics.Message Like '%"& Session("Search") &"%' Or Users.Name Like '%"& Session("Search") &"%' And ReplyTo >0)) Order By "& Session("sort3")
```

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

## #10 — aleborg, 2001-09-20T17:08Z

Tack ni e guld allihopa :e

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

## #11 — aleborg, 2001-09-21T11:55Z

hur får jag fram antal träffar på dom här kriterierna?

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

## #12 — LarsG, 2001-09-21T12:47Z

Om du använder ASP så är det enklsate sättet att plocka upp alla rader med getrow 

```
sql1 = "..."
set rs = conn.execute(sql1)
if rs.eof then
  cnt = 0
else
  arr = rs.getrows()
  cnt = ubound(arr,2) + 1
end if
```

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

## #13 — aleborg, 2001-09-21T14:30Z

tack :D

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/21614-avancerad-select
