webForumDet fria alternativet
Logga in / Bli medlem

SELECT DISTINCT antar jag

Databaser & SQL

5 svar · 170 visningar · startad av Mekano

Medlem sedan dec. 200061 inlägg
Frågan#1

Hej och hoppas ni "gurus" kan hjälpa mig!

Jag vill sortera ut de poster som har samma innehåll ur en tabell t ex:

SQL = "SELECT DISTINCT OArt_Namn FROM Omslag ORDER BY OArt_Namn ASC"

Problemet är att jag vill visa fler tabellfält på sidan ur samma tabell, men vill inte få dubbletter på "OArt_Namn" och kan inte få till det urvalet, som ni fårstår så ballar denna sträng ur totalt:

SQL = "SELECT DISTINCT ID, OArt_Namn, OBild1 From Omslag ORDER BY OArt_Namn ASC"

Tack på förhand!

Medlem sedan dec. 19998 577 inlägg
#2

Om det är OArt_Namn som skall vara distinct så:

SQL = "SELECT DISTINCT OArt_Namn, ID, OBild1 From Omslag ORDER BY OArt_Namn ASC"
Medlem sedan dec. 200061 inlägg
#3

Får fortfarande dubbletter.

<%
Set RecSet = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT DISTINCT OArt_Namn, ID, OBild1 From Omslag ORDER BY OArt_Namn ASC"
Set RecSet=Connect.Execute(SQL)
%>
<% Numcols = 2 %>
<% If Not RecSet.EOF Then %>
<% Do Until RecSet.EOF %>
<tr valign="top">
<% For i=1 To Numcols %>
<td align="center">
<% If RecSet.EOF Then %>
&nbsp;
<% Else %>
<font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#666666">
<a href="?visa=detalj&KID=&OID=<% =RecSet("ID") %>&prew=ok&onamn=<% =RecSet("OArt_Namn") %>"><b><% =RecSet("OArt_Namn") %></b></a></font><br>
<div align"center"><img src="<% =RecSet("OBild1") %>"></div><br>
<% RecSet.MoveNext %>
<% End If %>
</td>
<% Next %>
</tr>
<% Loop %>
</table>
<% End If %>
Medlem sedan dec. 200012 464 inlägg
#4

Du har alltså data som ser ut så här

ID!O_ArtName!OBild1
---------------------
1!Billy!/img/billybild
2!Bosse!/img/bossebild1
3!Bosse!/img/bossebild2

eller ?

Om det är så, vilken av posterna med id=2 eller 3 skall man då visa?

Distinct gäller alltid för alla kolumner i select-listan.

Medlem sedan dec. 200061 inlägg
#5

Jag hade förhoppningar att det gick att sortera ut(samla) alla "!Billy" och "!Bosse" i en länk som en kategori-indelning för att sedan lista alla "!Billy", men man kanske måste ha en speciell tabell med de olika OArt_Namnen.

Har ju använt DISTINCT förut men bara till dropdown´s, men när man vill visa mer än bara ett fält ur funna poster verkar det vara svårare.

Medlem sedan dec. 200012 464 inlägg
#6

I sådana fall är det enklare att sköta om det i presentationen och bara skriva ut något när kolumnen byter värde.

SQL = "SELECT DISTINCT OArt_Namn FROM Omslag ORDER BY OArt_Namn ASC"
set rs = connect.execute(sql)
OArt_namn = ""
while not rs.eof
if OArt_namn <> rs("OArt_namn") then
   OArt_namn = rs("OArt_namn") 
   response.write OArt_namn & "<br>"
end if
'visa övrigt
rs.movenext
wend

I och med att du har en order by så kommer alla likadana namn samlade.

266 ms totalt · 4 externa anrop · v20260731065814-full.5386d3bf
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)