Avatar billede styrelse Nybegynder
15. marts 2000 - 09:45 Der er 15 kommentarer

Hvordan skæres den...

Jeg trækker ud fra en query som kunne se sådan ud:

a | b | c | d |
a | b | e | f |

Jeg mangler en funktion som kun trækker et sæt af a og b sammen med c, d, e, f.

Kan du løse den?
Avatar billede sone Nybegynder
15. marts 2000 - 10:14 #1
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 ?
Avatar billede lange Nybegynder
15. marts 2000 - 10:15 #2
Det er lidt abstrakt, kan du forklare nærmere?
Avatar billede styrelse Nybegynder
15. marts 2000 - 10:24 #3
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
Avatar billede sone Nybegynder
15. marts 2000 - 10:28 #4
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.
Avatar billede styrelse Nybegynder
15. marts 2000 - 10:30 #5
Hvad med en count(*) og et par loops?
Avatar billede qreg Nybegynder
15. marts 2000 - 10:38 #6
Hvis bogstaverne ligger hver for sig i hver sin kolonne, kan han vel bare kalde med distinct.
Avatar billede styrelse Nybegynder
15. marts 2000 - 10:41 #7
Hvordan præcis?
Avatar billede sjensen Nybegynder
15. marts 2000 - 10:50 #8
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
Avatar billede styrelse Nybegynder
15. marts 2000 - 11:04 #9
sjensen>Det virker ikke. Jeg får stadig flere gentagede poster med en distinct kommando.
Avatar billede sone Nybegynder
15. marts 2000 - 11:05 #10
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?
Avatar billede styrelse Nybegynder
15. marts 2000 - 11:06 #11
De to rækker er jo ikke ens, kun næsten.
Avatar billede styrelse Nybegynder
15. marts 2000 - 11:08 #12
sjensen>>Kan jeg lave en distinct på kolonne niveau?
Avatar billede styrelse Nybegynder
15. marts 2000 - 11:12 #13
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.
Avatar billede sone Nybegynder
15. marts 2000 - 11:14 #14
Umiddelbar løsning:
Lav to SQL kald, én der henter det generelle, og en der henter det varierende.
Avatar billede styrelse Nybegynder
15. marts 2000 - 11:31 #15
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
%>
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester