Avatar billede jps6kb Novice
27. november 2005 - 20:43 Der er 2 kommentarer og
1 løsning

Hjælp til SQL

Hej,

Jeg har det her udtræk:

rsPris.Open "select TOP 1 * from Pris WHERE produktId = '"& rsProdukter("id") &"' AND leverandorId = '"& rsLeverandorer("id") &"' ORDER BY pris", MyConn

Som skulle finde den mindst pris ud fra nogle kriterier..
Mit problem er, at jeg i mit system nu, har 2 produkter oprette og 6 priser.. 3 på hver..
På hver produkt bliver der udskrevet en pris, men på den første er det den højeste pris og den anden er det den laveste pris. Jeg forstår det simpelthen ikke.
Nogen der kan lure den for mig??
Jeg har prøvet at lave om på rækkefølgen i databasen, men kan ikke se hvorfor den gør det.

Hele scriptet..

<%
    Set rsKategori = Server.CreateObject ("ADODB.Recordset")
    rsKategori.Open "select * from Kategori WHERE id = " & request("id") & "", MyConn
    if NOT rsKategori.EOF then
%>
<h2><% = rsKategori("navn") %></h2>
<%
   
    Set rsProdukter = Server.CreateObject ("ADODB.Recordset")
    rsProdukter.Open "select * from Produkt WHERE kategori = '" & request("id") & "'", MyConn
    if rsProdukter.EOF Then
        response.write "Der er ingen produkter i den valgte kategori"
    else
    while NOT rsProdukter.EOF
%>
<table class="tblVisKategori" cellspacing="0" cellpadding="0">
    <tr>
        <td class="tdVisKategoriHead"><% = rsProdukter("navn") %> (<% = rsProdukter("enhed") %>)&nbsp;&nbsp;Produktnr: <% = rsProdukter("produktNr") %></td>
    </tr>
    <tr>
        <td class="tdVisKategoriPris">
                       
<%
    Set rsLeverandorer = Server.CreateObject ("ADODB.Recordset")
    rsLeverandorer.Open "select * from Leverandor", MyConn
    response.write "<table>"
    while NOT rsLeverandorer.EOF
        Set rsPris = Server.CreateObject ("ADODB.Recordset")
        rsPris.Open "select TOP 1 * from Pris WHERE produktId = '"& rsProdukter("id") &"' AND leverandorId = '"& rsLeverandorer("id") &"' ORDER BY pris", MyConn
        if NOT rsPris.EOF Then
            response.write "<tr><td>"
            response.write rsLeverandorer("navn")
            response.write "</td><td>"
            response.write rsPris("pris")
            response.write "</td></tr>"
        end if
    rsLeverandorer.MoveNext
    Wend
    Set rsSenestPris = Server.CreateObject ("ADODB.Recordset")
    rsSenestPris.Open "select TOP 1 * from Pris WHERE produktId = '"& rsProdukter("id") &"' ORDER BY pris DESC", MyConn   
    response.write "</table>"
%>
        </td>
    </tr>
<%
    if NOT rsSenestPris.EOF then
%>
    <tr>
        <td align: right">
            Sidst ændret den <% = rsSenestPris("dato")%>
        </td>
    </tr>
<%
    end if
%>
</table>
<br/>
<%
    rsProdukter.MoveNext
    Wend
    end if
end if
%>
Avatar billede cpufan Juniormester
27. november 2005 - 21:29 #1
din priskolonne er nok defineret som tekst, den skal defineres som tal
Avatar billede jps6kb Novice
28. november 2005 - 21:22 #2
Fuldstændig ret.. smider du et svar :)
Avatar billede cpufan Juniormester
28. november 2005 - 22:45 #3
kommer her
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