15. september 2010 - 13:00Der er
4 kommentarer og 1 løsning
Flette distinct ind i database forespørgelse
Jeg har følgende åbning af min database.
<% verdi = request("verdi") kolonne = request("kolonne")
Set rs = Server.CreateObject("ADODB.RecordSet") strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("/ge_database/ge_pc.mdb") strsql = "SELECT * FROM plant_care where "&kolonne&" =('"& verdi &"') ORDER BY latname ASC" rs.Open strSQL, strDSN, 1 %>
I tabellen kan der være flere forekomster af latname, hvorledes gør jeg for kun få vist een af hver ... vist noget med distinct
Hvis du indsætter DISTINCT efter SELECT, får du kun forskellige rækker. Dvs. hvis alle rækker med samme værdi i latname også har samme værdi i alle andre rækker kan du bare indsætte DISTINCT umiddelbart efter select.
Ellers vil fx SELECT DISTINCT latname FROM plant_care where "&kolonne&" =('"& verdi &"') ORDER BY latname ASC give dig netop en forekomst af latname, men ikke øvrige felter fra plant_care.
Tja, da jeg ikke har givet dig et svar du kunne bruge til noget, synes jeg bare du selv skal tage pointene.
Men giver det faktisk mening det du vil - hvis du kun vil have en forekomst af hver latname, men vil have forskellige værdier i de øvrige felter - hvordan hænger det sammen?
Og det er ikke nødvendigvis din database der er forkert strikket sammen (omend det er meget muligt). Selv om man har lavet sin database efter de "rigtige" principper er man til tider ude i at det kræver lidt benarbejde at få de data ud, som man gerne vil have fat.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.