Jeg er ikke helt med...
a | b | c | d |
er én række i resultatet. Hvilke rækker er det at du hellere vil have ?
Det er lidt abstrakt, kan du forklare nærmere?
Ja ok.
a | b | c | d |
a | b | e | f |
er f.eks. to rækker i en tabel. De to rækker har hvert deres id, men er ens bortset fra de sidste to kolonner. Når jeg trækker de to rækker med mit asp script vil jeg have en funktion der kan tjekke om der er to eller flere rækker (altså count(*)).
Hvis der er mere en to poster vil jeg gerne have et resultat der ud ca. sådan her:
a b c d e f
i stedet for: a b c d a b ef
Det kan ikke umiddelbart lade sig gøre...
Enten skal du
1: Lave noget JOIN i dit SQL kald
2: Huske a og b (f.eks. i et array) og springe dem over i de efterfølgende rækker.
Hvad med en count(*) og et par loops?
Hvis bogstaverne ligger hver for sig i hver sin kolonne, kan han vel bare kalde med distinct.
Brug select distinct * from ...
det giver dig kun en af hver bogstav selvom der findes flere. Du kan endda udvide den med "order by xxx" til at sortere det du får ud således at listen bliver som du ønsker
sjensen>Det virker ikke. Jeg får stadig flere gentagede poster med en distinct kommando.
Når du får svar fra databasen får et antal rækker. Hvilke rækker er vil du gerne modtage / hvad skal der stå i dem?
De to rækker er jo ikke ens, kun næsten.
sjensen>>Kan jeg lave en distinct på kolonne niveau?
OK her er lidt kode:
strSQL = "SELECT distinct tmpstikord, tmpmyndighed, tmpdate1, tmpdate2, nummer, tmplov, tmpbekendt, resume, sagsfremstilling, afgoerelse FROM qrysm WHERE (socialmeddelelseID = " & Request.QueryString("id") & ")"
jeg får så f.eks. to eller tre rækker ud hvor eneste forskel er sagsfremstilling og afgoerelse.
alle andre ønsker jeg kun "et eksemplar" af.
Umiddelbar løsning:
Lav to SQL kald, én der henter det generelle, og en der henter det varierende.
Jeg er ikke så stærk i to sql kald. Kan du ikke lige se lidt på min fulde kode??
<%
Set Conn = Server.CreateObject("ADODB.Connection")
tempConn = "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("sm.mdb") & ";UID=admin;PWD=;"
Conn.Open tempConn
strSQL = "SELECT distinct tmpstikord, tmpmyndighed, tmpdate1, tmpdate2, nummer, tmplov, tmpbekendt, resume, sagsfremstilling, afgoerelse FROM qrysm WHERE (socialmeddelelseID = " & Request.QueryString("id") & ")"
Set rs = Conn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then
Response.Write "<table width=500 border=0 cellpadding=0 cellspacing=0 class=tabeltext>"
Do While Not rs.EOF
'definitioner
Dim sagsfremstilling
Dim afgoerelse
sagsfremstilling = Replace(rs("Sagsfremstilling"),Chr(13),"<BR>")
afgoerelse = Replace(rs("Afgoerelse"),Chr(13),"<BR>")
Set oRs = Conn.Execute("select count(*) from qrysm where (socialmeddelelseID = " & Request.QueryString("id") & ")")
Antal = oRs(0)
'obligatoriske sm oplysninger
Response.Write "<TABLE width=500 border=0 cellpadding=2 ><TR bgcolor=#C2B26A><TD><P><SPAN class=text>Afgørelse truffet af: " & rs("tmpmyndighed") & "<BR> " & "</SPAN></P></TD>"
Response.Write "<TD><P><SPAN class=text>Afgørelsesdato:" & "<BR>" & "</SPAN></P></TD>"
Response.Write "<TD><P><SPAN class=text>SM udsendelsesdato:" & "<BR>" & "</SPAN></P></TD>"
Response.Write "<TD><P><SPAN class=text>Meddelelsesnr.:" & "<BR>" & "</SPAN></P></TD></TR>"
Response.Write "<tr bgcolor=#EFEAD6><td><p><SPAN class=text>" & "</SPAN></P></TD>"
Response.Write "<td><p><SPAN class=text>" & rs("tmpdate1") & "</SPAN></P></TD>"
Response.Write "<td><p><SPAN class=text>" & rs("tmpdate2") & "</SPAN></P></TD>"
Response.Write "<td><p><SPAN class=text>" & rs("nummer") & "</SPAN></P></TD></TR></TABLE>"
Response.Write "<P></P><TABLE width=500><P><SPAN class=text>Meddelelse om:</SPAN>" & " " & "<SPAN style=font-family:Arial;Font-size:12px;line-height:normal;color:red;>" & rs("tmpstikord") & "</SPAN></P>"
Response.Write "<P><SPAN class=text>Lov:" & " " & rs("tmpLov") & "</SPAN></P>"
Response.Write "<P><SPAN class=text>Bekendtgørelse, cirkulære etc.:" & " " & rs("tmpbekendt") & "</SPAN></P>"
Response.Write "<P><span class=afsnitsoverskrift>Resumé:" & "<BR></span>" & "<SPAN class=text>" & Replace(rs("Resume"),Chr(13),"<BR>") & "</P>"
'individuel sagsfremstilling
Response.Write antal
Response.Write "<P><span class=subheader>Sagsfremstilling:" & "<BR></span>" & "<SPAN class=text>" & sagsfremstilling & "</SPAN></P>"
Response.Write "<P><span class=subheader>Afgørelse:" & "<BR></span>" & "<SPAN class=text>" & afgoerelse & "</P>"
rs.MoveNext
Loop
Response.Write "</table>"
Else
Response.Write "<p><font face=arial size=2>Intet data fundet</font></p>"
End If
Conn.Close
Set Conn = Nothing
%>