Avatar billede stoffer Nybegynder
15. februar 2000 - 10:17 Der er 15 kommentarer og
1 løsning

Hjælp til SQL statement

SQL_search = "SELECT Kategori.*, ProdType.*, Produkter.* " & _
            "FROM (Kategori INNER JOIN Produkter ON " & _
            "Kategori.KatID = Produkter.Kategori) INNER JOIN ProdType ON " & _
            "Produkter.ID = ProdType.ProdukttypeID " & _
            "WHERE " & _
            "InStr(Kategori.KatNavn,'" & sogeord & "')>0" &_
            "OR InStr(ProdType.Varenr,'" & sogeord & "')>0 " & _
            "OR InStr(ProdType.Varenrbeskr,'" & sogeord & "')>0" &_
            "OR InStr(ProdType.Speciel,'" & sogeord & "')>0" &_
            "OR InStr(Produkter.Navn,'" & sogeord & "')>0" &_
            "OR InStr(Produkter.Beskrivelse,'" & sogeord & "')>0 ORDER BY Kategori.KatNavn;"


Denne SQL sætning virker fint, problemet er dog et andet end selve eksekveringen af det.


Opstillingen burde se sådan ud:

Produktbeskrivelse:
adfasdfasdfasdfasdfasdfasdfa asdfasdfas
asdfasdf asdfasdfasdfasdfasdf sdafdafdasfdas

VareNr    Beskrivelse      Pris
21344      BLa bla bla      32141,-
21544      BLa bla bla      456,-
21234      BLa bla bla      768,-

------------------------------------- Dette er hvordan det ser ud nu!

Produktbeskrivelse:
adfasdfasdfasdfasdfasdfasdfa asdfasdfas
asdfasdf asdfasdfasdfasdfasdf sdafdafdasfdas

VareNr    Beskrivelse      Pris
21344      BLa bla bla      32141,-
21544      BLa bla bla      456,-
21234      BLa bla bla      768,-

Produktbeskrivelse:
adfasdfasdfasdfasdfasdfasdfa asdfasdfas
asdfasdf asdfasdfasdfasdfasdf sdafdafdasfdas

VareNr    Beskrivelse      Pris
21344      BLa bla bla      32141,-
21544      BLa bla bla      456,-
21234      BLa bla bla      768,-

Produktbeskrivelse:
adfasdfasdfasdfasdfasdfasdfa asdfasdfas
asdfasdf asdfasdfasdfasdfasdf sdafdafdasfdas

VareNr    Beskrivelse      Pris
21344      BLa bla bla      32141,-
21544      BLa bla bla      456,-
21234      BLa bla bla      768,-




Som I kan su er selv udskriften den samme, men pga. at den også skal kunne søge i feltet VareNr, bliver recordsettet for langt! Jeg forestiller mig at man skal bruge noget GROUP BY eller UNION kommando, ved bare ikke hvordan.













Avatar billede reason Nybegynder
15. februar 2000 - 10:36 #1
prøv med "SELECT DISTINCT" istedet for bare select "SELECT"
Avatar billede reason Nybegynder
15. februar 2000 - 10:38 #2
eller "GROUP VY ProdType.Varenr"
så det ser sådan ud :
"OR InStr(Produkter.Beskrivelse,'" & sogeord & "')>0 GROUP VY ProdType.Varenr
ORDER BY Kategori.KatNavn;"

men det tror jeg ikke vil virke
Avatar billede sone Nybegynder
15. februar 2000 - 10:43 #3
Du kan bruge DISTINCT for at sikre at der kun kommer et sæt resultater.

SELECT DISTINCT felt FROM tabel
Avatar billede stoffer Nybegynder
15. februar 2000 - 10:56 #4
Reason ---> jeg vender tilbage lidt senere med GROUP by, for der er lidt der skal laves om for at afprøve det...

Sone ---> Distinct virker ikke efter hensigten
Avatar billede aske Nybegynder
15. februar 2000 - 13:42 #5
GROUP BY er det du skal bruge, men husk at _alle_ kolonner som udtrækkes skal med i dit GROUP BY statement, det betyder at du kan få problemer ved brug af * i dit SELECT.
En undtagelse er dog kolonner som beregner f.eks. gennemsnit eller sum.

- Aske
Avatar billede stoffer Nybegynder
17. februar 2000 - 10:01 #6
SQL_search = "SELECT DISTINCT Kategori.KatID, Kategori.KatNavn, ProdType.ProdID, ProdType.ProdukttypeID" &_
            ", ProdType.Pris, ProdType.Varenr, ProdType.Varenrbeskr, ProdType.Speciel," &_
            "Produkter.ID, Produkter.Navn, Produkter.Beskrivelse, Produkter.Billede, Produkter.Kategori " & _
            "FROM (Kategori INNER JOIN Produkter ON " & _
            "Kategori.KatID = Produkter.Kategori) INNER JOIN ProdType ON " & _
            "Produkter.ID = ProdType.ProdukttypeID " & _
            "WHERE " & _
            "InStr(Kategori.KatNavn,'" & sogeord & "')>0" &_
            "OR InStr(ProdType.Varenr,'" & sogeord & "')>0 " & _
            "OR InStr(ProdType.Varenrbeskr,'" & sogeord & "')>0" &_
            "OR InStr(ProdType.Speciel,'" & sogeord & "')>0" &_
            "OR InStr(Produkter.Navn,'" & sogeord & "')>0" &_
            "OR InStr(Produkter.Beskrivelse,'" & sogeord & "')>0 GROUP BY ProdType.Varenr " &_
            "ORDER BY Kategori.KatNavn;"


---------------------------------------------------------------------------

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver] You tried to execute a query that does not include the specified expression 'KatID' as part of an aggregate function.

/includes/produkter_search_inc.asp, line 31
Avatar billede stoffer Nybegynder
17. februar 2000 - 10:04 #7
Tjah, jeg ved ikke rigtigt hvad den fejl betyder?
Avatar billede reason Nybegynder
17. februar 2000 - 10:04 #8
du skal tilføje det her efter ORDER BY
"GROUP BY Kategori.KatID, Kategori.KatNavn, ProdType.ProdID, ProdType.ProdukttypeID" &_
", ProdType.Pris, ProdType.Varenr, ProdType.Varenrbeskr, ProdType.Speciel," &_
"Produkter.ID, Produkter.Navn, Produkter.Beskrivelse, Produkter.Billede, Produkter.Kategori"
Avatar billede stoffer Nybegynder
17. februar 2000 - 10:49 #9
Ja, men så løser det vel ikke det problem jeg havde til at starte med. At mit recordset blev for langt?
Avatar billede knogle Nybegynder
17. februar 2000 - 10:50 #10
bruger du rs.eof osv .. ?
Avatar billede stoffer Nybegynder
17. februar 2000 - 11:24 #11
Jaja det gør jeg men for ikke at gøre det for uoverskueligt har jeg kun skrevet min SQL sætning....
Avatar billede stoffer Nybegynder
17. februar 2000 - 11:39 #12
----------- Nu paster jeg alligevel hele koden så i kan se det -------------


<%

sub retrieve_search()



sogeord = trim(request.form("search"))
if sogeord = "" then
sogeord = "asdfadfasfdaffafadfasfadfaadaf" ' Brugen vil ikke få nogle resultater
end if

dim SQL_search
SQL_search = "SELECT Kategori.KatID, Kategori.KatNavn, ProdType.ProdID, ProdType.ProdukttypeID" &_
            ", ProdType.Pris, ProdType.Varenr, ProdType.Varenrbeskr, ProdType.Speciel," &_
            "Produkter.ID, Produkter.Navn, Produkter.Beskrivelse, Produkter.Billede, Produkter.Kategori " & _
            "FROM (Kategori INNER JOIN Produkter ON " & _
            "Kategori.KatID = Produkter.Kategori) INNER JOIN ProdType ON " & _
            "Produkter.ID = ProdType.ProdukttypeID " & _
            "WHERE " & _
            "InStr(Kategori.KatNavn,'" & sogeord & "')>0" &_
            "OR InStr(ProdType.Varenr,'" & sogeord & "')>0 " & _
            "OR InStr(ProdType.Varenrbeskr,'" & sogeord & "')>0" &_
            "OR InStr(ProdType.Speciel,'" & sogeord & "')>0" &_
            "OR InStr(Produkter.Navn,'" & sogeord & "')>0" &_
            "OR InStr(Produkter.Beskrivelse,'" & sogeord & "')>0 GROUP BY Varenr " &_
            "ORDER BY Kategori.KatNavn;"



set RS_search = connect.execute(SQL_search)


if  RS_search.eof then
response.write "<font face='verdana' size='3'><b>Søgningen gav ikke resultat</b></font>"

else

do until RS_search.eof


                       
                        %>





<!-- kategori overskrift starter -->
                    <table border="0" cellpadding="0" cellspacing="0" width="509">
                      <tr>
                        <td width="375"><strong><font face="verdana" size="2">
                       
                       
   
                        <%    Response.write RS_search("KatNavn") %>
   
   
                        </font></strong></td>
                        <td width="10"><img src="images/invisible.gif" width="10" height="10"></td>
                        <td width="1" valign="top" bgcolor="#000000" rowspan="3"><img src="images/invisible.gif" width="1" height="1"></td>
                        <td width="10"><img src="images/invisible.gif" width="10" height="10"></td>
                        <td width="113"></td>
                      </tr>
                      <tr>
                        <td width="375" bgcolor="#000000" height="1"><img src="images/invisible.gif" width="375" height="1"></td>
                        <td width="10"><img src="images/invisible.gif" width="10" height="1"></td>
                        <td width="10"><img src="images/invisible.gif" width="10" height="1"></td>
                        <td width="113"><img src="images/invisible.gif" width="10" height="1"></td>
                      </tr>
                      <tr>
                        <td width="375"><img src="images/invisible.gif" width="3" height="6"></td>
                        <td width="10"><img src="images/invisible.gif" width="3" height="6"></td>
                        <td width="10"><img src="images/invisible.gif" width="3" height="6"></td>
                        <td width="113"><img src="images/invisible.gif" width="3" height="6"></td>
                      </tr>
                    </table>





<!-- Produkt Tabel opbygning starter -->   


                    <table border="0" cellpadding="0" cellspacing="0" width="509" border="0">
                      <tr>
                        <td width="375" valign="top">
                       
                       
                       
                        <table border="0" cellpadding="0" cellspacing="0" width="375">
                        <tr>
                        <td><font face="verdana" size="2"><strong>
                       
        <% Response.write RS_search("Navn") %>
                       
                        </strong></font></td>
                        </tr>
                        <tr>
                        <td><font face="Verdana" size="1">
                       
        <% Response.write RS_search("Beskrivelse") %>
                       
                       
                       
                        </font>
                       
                       
                       
                       
                        </td>
                        </tr>
                        <tr>
                        <td><img src="images/invisible.gif" width="10" height="10"></td>
                        </tr>
                        <tr>
                        <td>
                       
                       
                        <table  border="0" height="101"><tr><td valign="top">
                                <table border="0" cellpadding="0" cellspacing="0" width="100%" border="0">
                                <tr>
                                <td valign="top" width="60" height="15"><font face="verdana" size="1"><strong>Varenr.:</strong></font></td>
                                <td valign="top" width="10" height="15"><font face="verdana" size="1"><img src="images/invisible.gif" width="10" height="10"></font></td>
                                <td valign="top" width="215" height="15"><font face="verdana" size="1"><strong>Bekrivelse</strong></font></td>
                                <td valign="top" width="10" height="15"><font face="verdana" size="1"><img src="images/invisible.gif" width="10" height="10"></font></td>
                                <td valign="top" width="70" align="right" height="15"><font face="verdana" size="1"><strong>Pris</strong></font></td>
                                </tr>
                                <tr>
                                <td valign="top" width="365" colspan="5" bgcolor="#808080" height="1" border="0"><img src="images/invisible.gif" width="10" height="1"></td>
                                </tr>
                               
                                    <%
                                   
                                        SQL_produkttype_search =     "SELECT ProdType.* " &_
                                                                    "FROM Kategori INNER JOIN " & _
                                                                    "(Produkter INNER JOIN ProdType " & _
                                                                    "ON Produkter.ID = ProdType.ProdukttypeID) " & _
                                                                    "ON Kategori.KatID = Produkter.Kategori " &_
                                                                    "WHERE (((Produkter.ID)=" & RS_search("ID") & ") " &_
                                                                    "AND ((Kategori.KatID)=" & RS_search("KatID") & "));"
                                               
                                                       
                                          Set RS_produkttype_search = connect.execute(SQL_produkttype_search)
                                        do until RS_produkttype_search.EOF
                                     
                                      %>                   
                                     
                                                     
                                                           
                                                           
                                                           
                                                    <%
                                                        Speciel_beskr = RS_produkttype_search("Speciel")
                                                        if  Speciel_beskr <> "" then
                                                       
                                                        response.write "<tr><td valign='top' width='100%' colspan='5' height=0>"
                                                        response.write "<font face='verdana' size='1'>" & Speciel_beskr & "</font>"
                                                        response.write "</td></tr>"
                                                        else
                                                        response.write "<tr><td valign='top' width='100%' colspan='5' height=0>"
                                                        response.write "<img src='images/invisible.gif' width='10' height='1'>"
                                                        response.write "</td></tr>"                                               
                                                        end if
                                                    %>       
                                               
                                                               
                                                           
                                                           
                                                           
                                                            <tr>
                                                            <td valign="top" width="60"><strong><font face="Verdana" size="1">
                                                           
                                                           
                                                    <% response.write RS_produkttype_search("Varenr") %>
                                                           
                                                            </font></strong></td>
                                                            <td valign="top" width="10"></td>
                                                            <td valign="top" width="215"><font face="verdana" size="1">
                                                           
                                                           
                                                    <% response.write RS_produkttype_search("Varenrbeskr") %>
                                                           
                                                            </font></td>
                                                            <td valign="top" width="10"></td>
                                                            <td valign="top" width="70" align="right"><strong><font face="Verdana" size="1">
                                                           
                                                    <% response.write RS_produkttype_search("Pris") %>
                                                           
                                                            </font></strong></td>
                                                            </tr>
                                                       
                                                <%
                                                RS_produkttype_search.movenext
                                                loop    
                                                RS_produkttype_search.close
                                                Set RS_produkttype_search = nothing %>
                               
                                <tr>
                                <td valign="top" width="60"></td>
                                <td valign="top" width="10"></td>
                                <td valign="top" width="215"></td>
                                <td valign="top" width="10"></td>
                                <td valign="top" width="70" align="right"></td>
                                </tr>
                                <tr>
                                <td valign="top" width="365" height="1" colspan="5" bgcolor="#808080"><img src="images/invisible.gif" width="10" height="1"></td>
                                </tr>
                                <tr>
                                <td valign="top" width="365" colspan="5" height="21">&nbsp;&nbsp;&nbsp;</td>
                                </tr>
                                </table>
                       
                       
                       
                        </td></tr>
                        </table>                       
                       
                       
                       
                        </td>
                        </tr>
                        </table>
                       
                        </td>
                       
                       
                        <td width="10"><img src="images/invisible.gif" width="10" height="10"></td>
                        <td width="1" bgcolor="#000000"><img src="images/invisible.gif" width="1" height="10"></td>
                        <td width="10"><img src="images/invisible.gif" width="10" height="10"></td>
                        <td width="113" valign="top"><table border="0" cellpadding="0" cellspacing="0" width="115" height="113">
                        <tr>
                        <td valign="top" width="115">
                       
                        <% if RS_search("Billede") = "" or RS_search("Billede") = " "  then
                                               
                                            %>
                                            &nbsp;
                                           
                                            </td>
                                            </tr>
                                            <tr>
                                            <td valign="top" width="113" height="20">
                                           
                                           
                                <!-- åbning af nyt vindue -->
                                            <center></center><a href="java script:openLink('storbilled.asp?id=<% response.write RS_search("ID")%>')"><font face="Verdana" size="1">Info</font></a></center></td>
                                           
                                            <% else %>
                                            <img src="prod_images/
                                            <% response.write RS_search("Billede")%>" WIDTH="113" HEIGHT="113"></font>
                                           
                                           
                                           
                                           
                                           
                                            </td>
                                            </tr>
                                            <tr>
                                            <td valign="top" width="113" height="20">
                                           
                                           
                                <!-- åbning af nyt vindue -->
                                            <a href="java script:openLink('storbilled.asp?ID=<% response.write RS_search("ID")%>');"><img src="images/lup.gif" border="0" WIDTH="113" HEIGHT="20"></a></td>
                                           
                                            <% end if %>
                                           
                       
                       
                        </tr>
                        </table>
                        </td>
                      </tr>
                    </table>
   
<%
   
RS_search.movenext
loop

end if
               
RS_search.close
Set RS_search = nothing
%>
                   
    <!-- Tabel opbygning slutter -->
   
<% end sub %>
Avatar billede stoffer Nybegynder
17. februar 2000 - 11:40 #13
Som i måske kan se har jeg et loop inden i et andet loop. Men, det yderste recordset er for langt. Det skal grupperes med tabellen prodtype - how?
Avatar billede stoffer Nybegynder
18. februar 2000 - 15:37 #14
Nu må der altså til at ske noget ... jeg er ret presset her.

kig evt. på www.ergogroup.dk og prøv at

den som løser det får 100p oveni....
Avatar billede stoffer Nybegynder
18. februar 2000 - 15:38 #15
kig evt. på www.ergogroup.dk og prøv at søge
Avatar billede stoffer Nybegynder
06. marts 2000 - 10:01 #16
Jeg tror ikke dette kommer meget videre - men jeg finder vel ud af det selv :\
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