---
title: "en krångligare sql-sats"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/10447-en-krångligare-sql-sats"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "eriks"
published: "2001-07-06T10:44:00.000Z"
updated: "2001-07-07T15:41:00.000Z"
replies: 8
views: 229
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/10447-en-krångligare-sql-sats"
---

# en krångligare sql-sats

## #1 — eriks, 2001-07-06T10:44Z

Hej! Kan man på något sätt kolla i SQL om det finns någon (några/) post som uppfyller ens krav. Om man har en tabell med värdena : 1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,3,4,4,4,4,4,4,4,4,4,6,6 , så vill jag bara få ut 1,2,3,4,6. Dvs jag behöver inte alla värdena (hur många av varje sort det finns är ointressant) utan bara vilka värden som finns. Går detta?

Tack! /Erik

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

## #2 — PatrikB, 2001-07-06T10:50Z

Jo,

du kan använda dig av:

```
strSQL = "SELECT DISTINCT FLD_FIELD FROM TBL_TABLE"
```

cya,
PatrikB

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

## #3 — eriks, 2001-07-06T17:14Z

okey, tack... vad betyder det då

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

## #4 — LarsG, 2001-07-06T18:50Z

Det innebär att man bara får en förekomst av varje post i resultatet. 

Om tabellen ogrish innehåller följande rader

C1!C2
\-----
11!22
11!21
12!22

så innebär select distinct c1 from ogrish att man får tillbaka två rader med värdet 11 och 12. Däremot om skriver 

select distinct c1,c2 from ogrish

så får man tre rader då distinct aplliceras på alla kolumner i resultatet.

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

## #5 — eriks, 2001-07-07T10:52Z

nå förstår jag... tack så mycket!

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

## #6 — eriks, 2001-07-07T12:23Z

Jag testade lite, men det gick inte så bra. Jag skriver:

SQLStmt3 = "SELECT DISTINCT UserID FROM Users"
	Set RS3 = Connection.Execute(SQLStmt3)

Response.Write RS3("UserID")

(Detta är bara test, annars är det ju självklart att det inte finns två likadan UserID). När jag skriver så får jag bara fram den första posten. Jag vill få fram alla poster. Vad är fel?

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

## #7 — CG, 2001-07-07T12:30Z

SQLStmt3 = "SELECT DISTINCT UserID FROM Users"
Set RS3 = Connection.Execute(SQLStmt3)

Do While Not RS3.EOF
  Response.Write RS3("UserID") & "\<br\>"
RS3.MoveNext
Loop

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

## #8 — LarsG, 2001-07-07T12:31Z

```

SQLStmt3 = "SELECT DISTINCT UserID FROM Users"
Set RS3 = Connection.Execute(SQLStmt3)

while not rs3.eof
Response.Write RS3("UserID") & "<br>"
rs3.movenext
wend
```

ungefär så kan man skriva för att få fram alla poster.

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

## #9 — eriks, 2001-07-07T15:41Z

tack... om jag vidareutvecklare det lite mer. Det jag har tänkt göra är att kolla om ett speciellt värde finns i tabellen. Jag ska göra det på flera ställen på sidan. Jag kan ju använda en loop, så som ni visade, men borde det inte finnas lättare sätt att göra detta. Jag menar typ genom att hämta alla värden från tabellen en gång (så med SELECT DISTINCT) och ha dem i en kommabaserad lista, och sedan bara kolla vid varje ställe man ska använda sig av det behöver man bara kolla om talet man är ute efter ligger i listan. Går detta och borde det inte vara bättre än att ha en massa loopar?

Tack! /Erik

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/10447-en-krångligare-sql-sats
