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.
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
15. februar 2000 - 10:36
#1
prøv med "SELECT DISTINCT" istedet for bare select "SELECT"
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
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
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
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
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
17. februar 2000 - 10:04
#7
Tjah, jeg ved ikke rigtigt hvad den fejl betyder?
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"
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?
17. februar 2000 - 10:50
#10
bruger du rs.eof osv .. ?
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....
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"> </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 %> </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 %>
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?
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....
06. marts 2000 - 10:01
#16
Jeg tror ikke dette kommer meget videre - men jeg finder vel ud af det selv :\
Kurser inden for grundlæggende programmering