Avatar billede Slettet bruger
03. maj 2005 - 23:25 Der er 15 kommentarer og
1 løsning

Udtrækning uden brug af ID

Jeg skal kunne udtrække nr. 2, nr. 3, nr. 4 og nr. 5 fra en *.mdb men det skal ikke orders by id. Det skal orders by Point

Ex så jeg får den næst flest point og den med næst mindst og det imellem.


Hvordan kan jeg gøre det?

DDD
Avatar billede erikjacobsen Ekspert
04. maj 2005 - 00:10 #1
Du siger vel bare  ORDER BY points DESC
Så vi du nok også fornuftigvis sige  SELECT TOP 5,* ...osv
Men du skal selv springe nummer 1 over.
Avatar billede Slettet bruger
04. maj 2005 - 18:59 #2
Det forstår jeg ikke rigtigt.

Jeg skal skrive:
SELECT TOP 5,* ... OSV. hvad er osv.

DDD
Avatar billede erikjacobsen Ekspert
04. maj 2005 - 20:09 #3
Jeg kan ikke fortælle dig hvordan den skal se ud, da jeg ikke kender din SQL-sætning.
Avatar billede Slettet bruger
04. maj 2005 - 21:27 #4
Kig efter <---- Det er denne dem er der 2 af.

 
            <%Dim Apples

Set Apples = Server.CreateObject("ADODB.Connection")

ConnStr = "DRIVER={Microsoft Access Driver (*.mdb)}; "
ConnStr = ConnStr & "DBQ=" & Server.MapPath(".mdb")
Apples.Open(ConnStr)

Position = "SELECT * FROM Pos WHERE id BETWEEN 2 AND 5 ORDER BY Pos ASC"
Teams = "SELECT * FROM List ORDER BY Points DESC" <---- Det er denne

Set rs = Apples.Execute(Position)
Set rss = Apples.Execute(Teams)
%>
               
                <%
    Teams = "SELECT * FROM List ORDER BY Team ASC"  <---- Det er denne
    Position = "SELECT * FROM Pos WHERE id BETWEEN 2 AND 5 ORDER BY Pos ASC"
    Set rss = Apples.Execute(Teams)
    Set rs = Apples.Execute(Position)
    while not rss.eof
    %>
Avatar billede erikjacobsen Ekspert
04. maj 2005 - 21:32 #5
eams = "SELECT TOP 5,* FROM List ORDER BY Points DESC"
Vil give dig de 5 øverste. Du skal så selv springe den første over.
Avatar billede Slettet bruger
04. maj 2005 - 21:52 #6
Hvordan springer jeg den over. Da Point aldrig er det samme så kan jeg jo ikke skrive ex. Where points = <> 20 så er det jo kun hvis point er 20 den ikke tager den med.
Avatar billede erikjacobsen Ekspert
04. maj 2005 - 23:41 #7
Hvis du nu starter med at skrive de 5 ud i en løkke i ASP, så kan du nok få sprunget den første over.
Men hvad vil du gøre hvis nummer 1 og 2 har samme antal point?
Avatar billede Slettet bruger
06. maj 2005 - 10:24 #8
Så tager den efter målscore.

Men problemet er bare at lave top 4 har jeg gjort og når jeg så loader siden tager den 5 min og så printer den kun nr. 1 og skriver en masse med session.time er gået og skal ændres (og den har jeg slet ikke med).
Avatar billede erikjacobsen Ekspert
06. maj 2005 - 14:05 #9
"Så tager den efter målscore." - ja, det gør den jo så kun hvis du beder den om det

SELECT ... ORDER BY Points DESC, Målscore DESC

hvis feltet hedder sådan. Men selv de kan jo være ens. Men tag det problem senere.

Hvis en SELECT med en TOP 4 eller TOP 5 tager lang tid, så er det et helt andet problem.
Hvordan er dine tabeller?
Avatar billede Slettet bruger
07. maj 2005 - 17:10 #10
Den ber om den længere nede i scriptet Men det jeg gene vil er at der skal være en streg imellem nr 1 og 2 og nr. 5 og 6

her har du det hele:


<html>
<head>
<title></title>
<link rel="stylesheet" href="../../css.CSS" type="text/css">
</head>
<body  BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#000000" ALINK="#000000" VLINK="#000000">
<center>

</center>
<center><br>
<font face="Tahoma" color="#000000" size="4"><b>Lokummet 1</b></font><br>
<br>
</center>          <center>
<table border="0" cellspacing="0" cellpadding="3" bordercolor="#CC0000">
<tr>
<td width="25" valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><b>Placering.</b></font></td>
<td width="150" valign="top"><font face="Tahoma" color="#000000" size="2"><b>Hold</font></b></td>
<td width="49" valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><b>Spillede kampe</font></b></td>
<td width="51" valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><b>Vundet kampe</font></b></td>
<td width="53" valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><b>Uafgjorte kampe</font></b></td>
<td width="49" valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><b>Tabte kampe</font></b></td>
<td width="52" valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><b>Mål</b></font></td>
<td width="52" valign="top" align="right"><font face="Tahoma" color="#000000" size="2"><b>Point</font></b></td>
</tr>
<tr>
                <%Dim Apples

Set Apples = Server.CreateObject("ADODB.Connection")

ConnStr = "DRIVER={Microsoft Access Driver (*.mdb)}; "
ConnStr = ConnStr & "DBQ=" & Server.MapPath(".mdb")
Apples.Open(ConnStr)

Position = "SELECT * FROM Pos ORDER BY Pos ASC"
Teams = "SELECT * FROM List ORDER BY Points DESC"

Set rs = Apples.Execute(Position)
Set rss = Apples.Execute(Teams)
%>
                <%If rss("Played") = 0 then%>
                <%
    Teams = "SELECT * FROM List ORDER BY Team ASC"
    Position = "SELECT * FROM Pos ORDER BY Pos ASC"
    Set rss = Apples.Execute(Teams)
    Set rs = Apples.Execute(Position)
    while not rss.eof
    %>
<td valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><%=rs("Pos")%>&nbsp;</font></td>
<td valign="top"><font face="Tahoma" color="#000000" size="2"><b><%=rss("Team")%></b>&nbsp;</font></td>
<td valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><%=rss("Played")%></font></td>
<td valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><%=rss("Victories")%></font></td>
<td valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><%=rss("Draws")%></font></td>
<td valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><%=rss("Defeats")%></font></td>
<td valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><%=rss("Made")%>-<%=rss("Let")%>&nbsp;(<%=rss("Made")-rss("Let")%>)</font></td>
<td valign="top" align="right"><font face="Tahoma" color="#000000" size="2"><%=rss("Points")%></font></td>
</tr>
              <%rs.MoveNext
        rss.MoveNext
        Wend
        rss.Close
        rs.Close
        Apples.Close
        set Apples = Nothing%>
              <%Else%>
              <%
    Teams = "SELECT * FROM List ORDER BY Points DESC, Made-Let DESC, Team ASC"
    Position = "SELECT * FROM Pos where ID = 6 ORDER BY Pos ASC"
   
    Set rss = Apples.Execute(Teams)
    Set rs = Apples.Execute(Position)
    while not rss.eof
    while not rs.eof
    %>
<td valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><%=rs("Pos")%>&nbsp;</font></td>
<td valign="top"><font face="Tahoma" color="#000000" size="2"><b><%=rss("Team")%></b>&nbsp;</font></td>
<td valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><%=rss("Played")%></font></td>
<td valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><%=rss("Victories")%></font></td>
<td valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><%=rss("Draws")%></font></td>
<td valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><%=rss("Defeats")%></font></td>
<% If rss("Made")-rss("Let") < 0 Then %>
<td valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><%=rss("Made")%>-<%=rss("Let")%>&nbsp;(<%=rss("Made")-rss("Let")%>)</font></td>
<%End If%>
<% If rss("Made")-rss("Let") > 0 Then %>
<td valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><%=rss("Made")%>-<%=rss("Let")%>&nbsp;(+<%=rss("Made")-rss("Let")%>)</font></td>
<%End If%>
<% If rss("Made")-rss("Let") = 0 Then %>
<td valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><%=rss("Made")%>-<%=rss("Let")%>&nbsp;(+-<%=rss("Made")-rss("Let")%>)</font></td>
              <%End If%>
<td valign="top" align="right"><font face="Tahoma" color="#000000" size="2"><%=rss("Points")%></font></td>
</tr>
              <%
rs.MoveNext
rss.MoveNext
Wend
Wend
rss.Close
rs.Close
Apples.Close
set Apples = Nothing%>




              <%End if%>
              </tr>
            </table>
          </center>
     
<br><br><br>
<a href="..\index.asp"><font face="Tahoma" color="#000000" size="2">Tilbage</font></a>
</body>
</html>
Avatar billede erikjacobsen Ekspert
08. maj 2005 - 00:11 #11
Jeg kan ikke se hvor du skal have det lavet.
Avatar billede Slettet bruger
09. maj 2005 - 22:44 #12
2 steder HER:

<%
    Teams = "SELECT * FROM List ORDER BY Team ASC"
    Position = "SELECT * FROM Pos ORDER BY Pos ASC"
    Set rss = Apples.Execute(Teams)
    Set rs = Apples.Execute(Position)
    while not rss.eof
    %>
<td valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><%=rs("Pos")%>&nbsp;</font></td>
<td valign="top"><font face="Tahoma" color="#000000" size="2"><b><%=rss("Team")%></b>&nbsp;</font></td>
<td valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><%=rss("Played")%></font></td>
<td valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><%=rss("Victories")%></font></td>
<td valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><%=rss("Draws")%></font></td>
<td valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><%=rss("Defeats")%></font></td>
<td valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><%=rss("Made")%>-<%=rss("Let")%>&nbsp;(<%=rss("Made")-rss("Let")%>)</font></td>
<td valign="top" align="right"><font face="Tahoma" color="#000000" size="2"><%=rss("Points")%></font></td>
</tr>
              <%rs.MoveNext
        rss.MoveNext
        Wend
        rss.Close
        rs.Close
        Apples.Close
        set Apples = Nothing%>

-----------

OG HER:
-----------

    Teams = "SELECT * FROM List ORDER BY Points DESC, Made-Let DESC, Team ASC"
    Position = "SELECT * FROM Pos where ID = 6 ORDER BY Pos ASC"
   
    Set rss = Apples.Execute(Teams)
    Set rs = Apples.Execute(Position)
    while not rss.eof
    while not rs.eof
    %>
<td valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><%=rs("Pos")%>&nbsp;</font></td>
<td valign="top"><font face="Tahoma" color="#000000" size="2"><b><%=rss("Team")%></b>&nbsp;</font></td>
<td valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><%=rss("Played")%></font></td>
<td valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><%=rss("Victories")%></font></td>
<td valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><%=rss("Draws")%></font></td>
<td valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><%=rss("Defeats")%></font></td>
<% If rss("Made")-rss("Let") < 0 Then %>
<td valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><%=rss("Made")%>-<%=rss("Let")%>&nbsp;(<%=rss("Made")-rss("Let")%>)</font></td>
<%End If%>
<% If rss("Made")-rss("Let") > 0 Then %>
<td valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><%=rss("Made")%>-<%=rss("Let")%>&nbsp;(+<%=rss("Made")-rss("Let")%>)</font></td>
<%End If%>
<% If rss("Made")-rss("Let") = 0 Then %>
<td valign="top" align="center"><font face="Tahoma" color="#000000" size="2"><%=rss("Made")%>-<%=rss("Let")%>&nbsp;(+-<%=rss("Made")-rss("Let")%>)</font></td>
              <%End If%>
<td valign="top" align="right"><font face="Tahoma" color="#000000" size="2"><%=rss("Points")%></font></td>
</tr>
              <%
rs.MoveNext
rss.MoveNext
Wend
Wend
rss.Close
rs.Close
Apples.Close
set Apples = Nothing%>
Avatar billede Slettet bruger
09. maj 2005 - 23:18 #13
den der hedder: Position = "SELECT * FROM Pos må godt hente fra ID
den der hedder: Teams = "SELECT * FROM List ORDER BY Points DESC, Made-Let DESC, Team ASC" den skal hente dem efter point
Avatar billede erikjacobsen Ekspert
10. maj 2005 - 00:06 #14
Jeg forstår ikke hvad der står i dine tabeller. Intet sted sorterer du efter point, og begge steder slår du op i 2 tabeller på en uortodoks måde. Du er nødt til at være meget mere præcis med hvad du vil.
Avatar billede Slettet bruger
10. maj 2005 - 22:35 #15
Det den gør nu er at den laver en table:

[A][B][C][D][E]osv...
[1][1][1][1][1]
[2][2][2][2][2]
[3][3][3][3][3]

I kolonen A henter den data fra den der hedder: Position = "SELECT * FROM Pos må godt hente fra ID
Hvilket betyder at A1 dataen "1", A2 får dataen "2", A3 får Dataen "3"

Kolonen B henter klubberne efter den der hedder: Teams = "SELECT * FROM List ORDER BY Points DESC, Made-Let DESC, Team ASC"
Den henter efter point og er der A point henter den efter målscore made minus let.
Kolonen C er antal spillet kampe og så henter den ellers almindeligt.

Det er det der sker er som følger.

[A][B][C][D]osv.
[1][1][1][1]
------------ <--- her skal der så være en streg der skiller de 2 træk.
[2][2][2][2]
[3][3][3][3]
[4][4][4][4]
[5][5][5][5]
------------ <--- her skal der så være en streg der skiller de 2 træk.
[6][6][6][6]

Træk 1 skal hente data med id nr. 1 i kolone A fra tabellen: Position
Og den skal hente data fra den klub med flest point og hvis der er pointlighed så skal den hente efter målscore som der står tidligere.

Træk 2 Skal hente data med id nr. 2,3,4 og 5 og såtte dem i kolone A fra tabellen Position
Så skal den hente det hold der har næst flest point, dem der har 3 flest point, 4 fleste point og 5 flest point. Igen i tilfælde af pointlighed skal den hente den der har bedst målscore.

Træk 3 skal hente data med id nr. 6 i kolone A fra tabellen: Position
Og den skal hente data fra den klub med mindst point og hvis der er pointlighed så skal den hente efter målscore som der står tidligere. Her skal den printe dataen som oppe i indlæget fra: 07/05-2005 17:10:05


Hvis du er i tvivl så kan vi snakke sammen over MSN hvis du har sådan en.

DDD
Avatar billede Slettet bruger
10. maj 2006 - 18:37 #16
Lukker
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