Avatar billede chrisrj Forsker
27. august 2004 - 12:36 Der er 6 kommentarer og
1 løsning

Problem med sql sætning(distinct) 2

Fortsættelse fra http://www.eksperten.dk/spm/529803

efter jeg har rodet i tabellerne virker denne sql-sætning ikke længere:
strSQL = "select distinct schoolslevels.schoolnavn, schoolslevels.schoollevel From schools left join schoolslevels on schools.schoolid = schoolslevels.schoolid where schoolslevels.charid=" & myPage & " and not schools.schooltype = '3'"

Mine tabeller(Mysql):
schools:
schoolid(autonummer), school(varchar(255)), schooltype(tinyint(3)), antalbruger(int(11))

schoolslevel:
charschoolid(autonummer), schoolnavn(varchar(255)), schoollevel(int(3)), charid(int(5)), schoolid(int(8))

Der kommer ingen fejl, men det kommer heller ikke noget resultat!?
Avatar billede anhansen Nybegynder
27. august 2004 - 13:02 #1
umiddelbart kan jeg ikke se nogen fejl i sql'en.
Er du sikker på at den bør returnere noget?
Avatar billede chrisrj Forsker
27. august 2004 - 13:11 #2
øh, ja :)

indholdet i schoolslevels tabellen er:
schoolnavn, schoollevel, charid, charschoolid, schoolid 
Weaponsmith, 77, 1, 13, 46
Battle Mage, 10, 1, 11, 2
Guardian, 55, 1, 12, 21

indholdet i school tabellen er:
school, schooltype, antalbruger, schoolid 
...
...
Battle Mage, 1, 1, 2
...
...
Guardian, 1, 1, 21
...
...
Weaponsmith, 2, 1, 46

siden kan ses her : http://www.themessengers.dk/www/profil_medlem.asp?side=1
Avatar billede anhansen Nybegynder
27. august 2004 - 13:30 #3
og du er sikker på at der er værdien 1 i myPage?
Har du prøvet at skrive den ud?
Avatar billede chrisrj Forsker
27. august 2004 - 13:32 #4
Siden har virket - det er først efter jeg fjernede kolonnen schoolid i schoolslevels tabellen og oprettede den igen at fejlen kom
Avatar billede anhansen Nybegynder
27. august 2004 - 13:59 #5
hmm... så har jeg ikke lige nogen ide... sry...
Avatar billede chrisrj Forsker
27. august 2004 - 14:42 #6
jeg poster lige koden, så i kan se hvor prblemet kommer:

<!-- #include file="mysqlconn.asp" --><HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=unicode">
<META content="MSHTML 6.00.2800.1458" name=GENERATOR></HEAD>
<BODY>
            <table>
                <tr>
<%
Dim myPage
if request.form("showuser") <> "" then
    myPage = int(request.form("showuser"))
else
    myPage = Request.QueryString("side")
end if

If (IsNumeric(myPage)) And (myPage <> "") Then

  ' vi sikrer os at vi reelt får en værdi fra
  ' querystring og at værdien er numerisk, der
  ' så kan bruges til søgning på recordens
  ' ID nummer

  strSQL = "Select charnavn From chars where charid=" & myPage
  Set rsnavn = Conn.Execute(strSQL)
Else
  Response.Write "Der mangler en bruger angivelse." & vbCrLf
End If
%>
                    <td>                         
                        <table border="0" cellpadding="0" cellspacing="0">                           
                            <tr>                             
                                <td height="5" colspan="3">
                                    <font size="15">
                                        <%=rsnavn("charnavn")%>
                                    </font>
                                    <br><br>
                                </td>                           
                            </tr>                           
                            <tr>                         
                                <td align="left" nowrap>
                                    <font face="Verdana, Helvetica" size="2">
                                        <ul>
<%
  strSQL = "Select charnavn,rank,race,mainchar,charid From chars where charid=" & myPage
  Set rschar = Conn.Execute(strSQL)
  If (Not rschar.BOF) And (Not rschar.EOF) Then

    ' her sikrer vi os at der *ER* en eller flere
    ' records at arbejde med.

      Response.write "<li><b>Rank: </b>" & rschar("rank") & " </li><br><br><li><b>Race: </b>" & rschar("race") & "</li><br><br><br>" & vbCrLf
  Else
    Response.Write "Ikke oplyst." & vbCrLf
  End If
%>
                                        </ul>
                                    </font>
                                </td>
                                <td width="15"></td>
                                <td width="15">

<%
  strSQL = "Select billede From chars where charid=" & myPage
  Set rsbillede = Conn.Execute(strSQL)
      Response.write "<FONT class=sidelinks face=verdana, Helvetica' size=1>"
        if not rsbillede("billede") = "" then
             
            Response.write "<img src='billeder/" & rsbillede("billede") & "' width='150' height='200'><br><br>"
          end if
%>
                                </td>
                            </tr>
                            <tr>
                                <td align="left" valign="top" width="100">
                                    <font face="Verdana, Helvetica" size="2">
                                        <b>Adventure</b>
                                    </font>
                                </td>
                                <td width="20">&nbsp;&nbsp;&nbsp;</td>
                                <td align="left" valign="top" width="100">
                                    <font face="Verdana, Helvetica" size="2">
                                        <b>Crafting</b>
                                    </font>
                                </td>
                            </tr>
                            <tr>
                                <td align="left" valign="top" width="160" nowrap>
                                    <font face="Verdana, Helvetica" size="1">
                                        <ul>
=====================================================================================
                                              herfra
=====================================================================================
<%         
  strSQL = "select distinct schoolnavn, schoollevel From schools left join schoolslevels on schools.schoolid = schoolslevels.schoolid where schoolslevels.charid = " & myPage & " and not schools.schooltype = 2"
  Response.write strsql & "<br>"
 
  Set rsadventure = Conn.Execute(strSQL)
  'if test = true then
 
  If (Not rsadventure.BOF) And (Not rsadventure.EOF) Then

    ' her sikrer vi os at der *ER* en eller flere
    ' records at arbejde med.
    do while not rsadventure.eof
      Response.write "<li>" & rsadventure("schoolnavn") & " " & rsadventure("schoollevel") & "</li><br>" & vbcrlf
      rsadventure.movenext
    loop
  Else
    Response.Write "Ikke oplyst." & vbCrLf
  End If
%>
=====================================================================================
                                              hertil og...
=====================================================================================                                        </ul>
                                    </font>
                                </td>
                                <td>&nbsp;</td>
                                <td align="left" valign="top" width="140" nowrap>
                                    <font face="Verdana, Helvetica" size="1">
                                        <ul>
=====================================================================================
                                              herfra
=====================================================================================
<%
  strSQL = "select distinct schoolnavn, schoollevel From schools left join schoolslevels on schools.schoolid = schoolslevels.schoolid where schoolslevels.charid = " & myPage & " and schools.schooltype = 2"
  Set rscraft = Conn.Execute(strSQL)
  If (Not rscraft.BOF) And (Not rscraft.EOF) Then

    ' her sikrer vi os at der *ER* en eller flere
    ' records at arbejde med.
    do while not rscraft.eof
      Response.write "<li>" & rscraft("schoolnavn") & " " & rscraft("schoollevel") & "</li><br>" & vbcrlf
      rscraft.movenext
    loop
  Else
    Response.Write "Ikke oplyst." & vbCrLf
  End If
  if rschar("mainchar") <> 0 then
%>
=====================================================================================
                                              hertil
=====================================================================================                                        </ul>
                                    </font>
                                </td>
                            </tr>
                        </table>
                        <table>
                            <tr>
                                <TD>
                                    <font face="Verdana, Helvetica" size="2">
                                        <b>Main char</b>
                                    </font>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <font face="Verdana, Helvetica" size="1">
                                        <ul>
<%
        strSQL = "select charnavn, charid From chars where charid=" & rschar("mainchar")
          Set rsmainchar = Conn.Execute(strSQL)
          Response.write "<li><b><a href='profil_medlem.asp?side=" & rsmainchar("charid") & "'>" & rsmainchar("charnavn") & "</a></b></li><br>" & vbcrlf
          main = true
  end if
%>
                                        </ul>
                                    </font>
                                </td>
                            </tr>
                            <tr>
                                <TD>
                                    <font face="Verdana, Helvetica" size="2">
                                        <b>Alternative chars</b>
                                    </font>
                                </td>
                            </tr>
                            <tr>
                                <td>
                                    <font face="Verdana, Helvetica" size="1">
                                        <ul>
<%
  if main <> true then
      strSQL = "select charnavn, charid From chars where mainchar=" & rschar("charid")
      Set rsaltchars = Conn.Execute(strSQL)
  else
      strSQL = "select charnavn, charid From chars where mainchar=" & rsmainchar("charid")
      Set rsaltchars = Conn.Execute(strSQL)
  end if
      If (Not rsaltchars.BOF) And (Not rsaltchars.EOF) Then
   
   
   
        ' her sikrer vi os at der *ER* en eller flere
        ' records at arbejde med.
        do while not rsaltchars.eof
          if not rsaltchars("charid") = rschar("charid") then
              Response.write "<li><a href='profil_medlem.asp?side=" & rsaltchars("charid") & "'>" & rsaltchars("charnavn") & "</a></li><br>" & vbcrlf
          end if
          rsaltchars.movenext
        loop
      Else
            Response.Write "No alt chars." & vbCrLf
      End If
 
    Conn.Close
    Set Conn = Nothing
%>
                                        </ul>
                                    </font>
                                </td>
                            </tr>
                        </table>
                    </td> 
            </tr>
        </table></BODY></HTML>
Avatar billede chrisrj Forsker
04. oktober 2004 - 14:35 #7
Lukket
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