---
title: "Distinct funkar men..."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/39153-distinct-funkar-men"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Mekano"
published: "2002-03-07T12:43:37.000Z"
updated: "2002-03-08T18:31:57.000Z"
replies: 5
views: 263
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/39153-distinct-funkar-men"
---

# Distinct funkar men...

## #1 — Mekano, 2002-03-07T12:43Z

Jag var ute efter att lista unika  poster från en tabell
med flera kolumner, men vill samtidigt plocka data från
flera kolumner och köra en loop på dem.
Har sökt igenom forumet efter lösningar men inte hittat någon
som funkat bra, distinct funkar ju bra om man bara vill lista från
en kolumn.

Nu har jag meckat ihop en lösning som funkar men den ser
väldigt osnygg ut, finns det någon som har en bättre lösning
eller bara vill rätta till i koden så tackar jag på förhand.

```
<%
Set RecSet = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT DISTINCT OKat_Namn FROM Omslag
WHERE Rel = '" & Request.QueryString("kal") & "'"

Set RecSet2 = Server.CreateObject("ADODB.Recordset")
SQL2 = "SELECT DISTINCT OBild1 FROM Omslag
WHERE Rel = '" & Request.QueryString("kal") & "'"

Set RecSet=Connect.Execute(SQL)
Set RecSet2=Connect.Execute(SQL2)
%>
<% Numcols = 2 %>
<% If Not RecSet.EOF And Not RecSet2.EOF Then %>
<% Do Until RecSet.EOF And RecSet2.EOF %>
<tr valign="top">
<% For i=1 To Numcols %>
<td align="center">
<% If RecSet.EOF Or RecSet2.EOF Then %>
nada
<% Else %>
<font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#666666">
<a href="<% Request.ServerVariables("SCRIPT_NAME") %>
?visa=detalj&KID=<% Response.Write Request.QueryString("KID") %>
&OID=&prew=ok&onamn=<% =Server.URLEncode(RecSet("OKat_Namn") ) %>
&kal=<% Response.Write Server.URLEncode(Request.QueryString("kal") ) %>">
<b><% =RecSet("OKat_Namn") %></b></a></font><br>
<div align"center"><a href="<% Request.ServerVariables("SCRIPT_NAME") %>
?visa=detalj&KID=<% Response.Write Request.QueryString("KID") %>
&OID=&prew=ok&onamn=<% =Server.URLEncode(RecSet("OKat_Namn") ) %>
&kal=<% Response.Write Server.URLEncode(Request.QueryString("kal") ) %>">
<img src="prodbilder/<% =RecSet2("OBild1") %>_1.jpg" border="0"></a></div>
<br>
<% RecSet.MoveNext %>
<% RecSet2.MoveNext %>
<% End If %>
</td>
<% Next %>
</tr>
<% Loop %>
</table>
<% End If %>
<% RecSet.Close
RecSet2.Close %>
```

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

## #2 — LarsG, 2002-03-07T13:07Z

Vad menar du med 

> distinct funkar ju bra om man bara vill lista från 
> en kolumn.

Hur ser ditt data ut? Är det alltid samma värde i Obild1 för ett visst värde i Okat_namn? Om det är det så skall det fungera med distinct.

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

## #3 — Mekano, 2002-03-07T14:04Z

Vad jag menar är att jag inte fick det att funka med en selectsats med distinct :r 

```
SQL = "SELECT DISTINCT OKat_Namn, OBild1 FROM Omslag
WHERE Rel = '" & Request.QueryString("kal") & "'"
```

OKat_Namn = Produktnamnet (olika)
Obild1 = Minibild på produkt (olika)
Rel = Vilken huvudprodukt tillbehöret tillhör

Jag har ett produktkort där det hänger med en inkludefil.
Som består av den kod jag la in tidigare, meningen med den
är att den ska lista tillbehör till produkten, och då plockar
den ur en tillbehörstabell beronde på vilket värde som skickas
med 

```
Request.QueryString("kal")
```

 , men eftersom
det finns varianter även på tillbehören så vill jag endast lista
de unika konfigurationerna.

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

## #4 — LarsG, 2002-03-07T22:50Z

Det är fortfarande oklart för mig hur ditt datainnehåll ser ut

kan det se ut så här?

Okat_namn!Obild1
\---------------!-------
namn1        !bild1
namn1        !bild2
namn2        !bild1
namn2        !bild3

eller är det så här

Okat_namn!Obild1
\---------------!-------
namn1        !bild1
namn1        !bild1
namn2        !bild2
namn2        !bild2

Oavsett hur det ser ut så borde den fråga där du hämtar båda kolumnerna fungera.

Ett problem med koden i ditt första inlägg är att den förutsätter att det alltid är lika många poster i de båda recordseten.

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

## #5 — Mekano, 2002-03-08T13:51Z

Jag ville lista Okat_Namn och OBild1 beronde på
vilket värde Rel hade.
Men ville inte lista alla olika kombinationer som
t ex namn har, detta kommer i nästa steg när man
klickar på t ex namn eller den tillhörande bilden.

Tillbehörstabell
\----------------------------------------------------------------------\>
 OKat_Namn................Rel....................OBild1....................Farg.......
\-----------------!-----------------!-----------------!----------------
 namn..................produkt1..................thumb97.....................vit
\-----------------!-----------------!-----------------!----------------
 namn2...............produkt1..................thumb65....................vit
\-----------------!-----------------!-----------------!----------------
 namn..................produkt1..................thumb34....................blå
\-----------------!-----------------!-----------------!----------------
 namn3...............produkt2..................thumb22....................lila
\-----------------!-----------------!-----------------!----------------
 namn2...............produkt3..................thumb13....................röd
\-----------------!-----------------!-----------------!----------------
 namn3...............produkt1..................thumb77....................svart

! Har gjort en tabell till med de olika OKat_Namn, och plockat
upp/ihop data med join det funkar ju bra/bättre.

Det som jag tycker vore kul är att få reda på om den innan
postade lösningen strider mot alla kodningsprinciper och om 
hur man ur prestanda/optimerings mässigt ser på det.

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

## #6 — LarsG, 2002-03-08T18:31Z

Om ditt data ser ut så så får du göra som i ditt ursprungliga förslag. 

Om man tittar på ditt exempeldata så blir det fler poster i det recordset som innehåller bilder jämfört med det som innehåller namn och då borde din kod resultera i en oändlig loop.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/39153-distinct-funkar-men
