Avatar billede l_otto Nybegynder
09. marts 2004 - 10:51 Der er 7 kommentarer og
1 løsning

hvorfor får jeg denne fejl?

Her er min kode:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={MySQL};SERVER=&_
"DATABASE=;"
Conn.Open DSN
%>




<%
SQL = "SELECT  t1.varenummer, t1.DescShort, t1.pris, t1.levnavn  "
SQL = SQL & "FROM (SELECT levnavn, pris, varenummer, DescShort FROM tabel1 "
SQL = SQL & "UNION ALL SELECT levnavn, pris, varenummer, DescShort FROM tabel2 "
SQL = SQL & "UNION ALL SELECT levnavn, pris, varenummer, DescShort FROM tabel3) "
SQL = SQL & "as t1, "
SQL = SQL & "(SELECT min(pris) as mpris, varenummer "
SQL = SQL & "FROM (SELECT pris, varenummer FROM tabel1 "
SQL = SQL & "UNION ALL SELECT pris, varenummer FROM tabel2 "
SQL = SQL & "UNION ALL SELECT pris, varenummer FROM tabel3 "
SQL = SQL & ") GROUP BY varenummer) as t2 "
SQL = SQL & "WHERE t1.pris = t2.mpris AND t1.varenummer = t2.varenummer ORDER BY t1.varenummer;"

Set rs = Conn.Execute(SQL)

Response.Write "<table>"
if not rs.EOF then
  Response.Write "<tr>"
  for each f in rs.Fields
    Response.Write "<td>" & f.name & "</td>"
  next
  Response.Write "</tr>"
end if
Response.Write "<tr><td>"
Response.Write rs.GetString (, -1, "</tr><td>", "</td></tr><tr><td>", NBSPACE) 
response.write "</table>"
%>

Her er min fejl:

[TCX][MyODBC]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT levnavn, pris, varenummer, DescShort FROM tabel1 UNION A


og jeg kører Mysql verion : MySQL 4.0.17.
Avatar billede dk_akj Nybegynder
09. marts 2004 - 10:56 #1
Den letteste måde at finde en sqlfejl på er at se på den komando der fyres mod serveren.

I dit tilfælde strengen SQL

Prøv lige inden conn.execute(sql) at indsætte

response.write sql
response.end

Så udskrives din sql på skærmen.
Hvad er sql'en ??

//akj
Avatar billede fennec Nybegynder
09. marts 2004 - 10:57 #2
Skulle du ikke stille ?'et i MySQL kategorien????

http://www.eksperten.dk/spm/473022
Avatar billede l_otto Nybegynder
09. marts 2004 - 11:07 #3
fennec.. jo sorry...
Avatar billede fennec Nybegynder
09. marts 2004 - 11:09 #4
no prob...

:o)
Avatar billede l_otto Nybegynder
09. marts 2004 - 11:12 #5
SELECT t1.varenummer, t1.DescShort, t1.pris, t1.levnavn FROM (SELECT levnavn, pris, varenummer, DescShort FROM tabel1 UNION ALL SELECT levnavn, pris, varenummer, DescShort FROM tabel2 UNION ALL SELECT levnavn, pris, varenummer, DescShort FROM tabel3) as t1, (SELECT min(pris) as mpris, varenummer FROM (SELECT pris, varenummer FROM tabel1 UNION ALL SELECT pris, varenummer FROM tabel2 UNION ALL SELECT pris, varenummer FROM tabel3 ) GROUP BY varenummer) as t2 WHERE t1.pris = t2.mpris AND t1.varenummer = t2.varenummer ORDER BY t1.varenummer;
Avatar billede dk_akj Nybegynder
09. marts 2004 - 12:14 #6
Enten har du MANGE fejl i din sql ellers kan jeg ikke se hvordan den skal virke...

f.eks:
/*
SELECT
    t1.varenummer, t1.DescShort, t1.pris, t1.levnavn
FROM
    (SELECT levnavn, pris, varenummer, DescShort FROM tabel1
UNION ALL
*/

FROM ??? Hvor skal data hentes fra ?

//akj
Avatar billede l_otto Nybegynder
09. marts 2004 - 16:04 #7
ok,, jeg må lige have styr på det... kom med et svar..
Avatar billede dk_akj Nybegynder
10. marts 2004 - 08:05 #8
svar.
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