20. november 2005 - 08:33Der er
8 kommentarer og 1 løsning
on caluse
Hejsa E
Jeg har lige opgraderet fra 4.0.16 til 5.0.15 og nu kommer der en fejl i et select...
SELECT DISTINCT v.vID, v.vnavn, v.harBillede, v.pris, b.picnavn, b.height, b.width, u.udsalgPct FROM varer v, varegrupper vg LEFT JOIN vgudsalg u ON vg.top = u.vgID LEFT JOIN produktbilleder b ON v.vID = b.vID WHERE v.tilhgrp = vg.vgID AND (v.ring_for_pris = 'on' OR v.lagerstatus > 0 OR v.saelgIkkePaaLager = 'on') AND b.standard = 1 AND v.aktiv = 'on' AND v.vID <> 0 AND v.tilhgrp IN (0) ORDER BY v.vID
[MySQL][ODBC 3.51 Driver][mysqld-5.0.15-nt]Unknown column 'v.vID' in 'on clause'
vID findes i varer tabellen (og det virkede før) så det må være noget med JOINS der ikke kører på samme måde som før.
Hvis jeg tager den ene join ud, så virker det fint: SELECT DISTINCT v.vID, v.vnavn, v.harBillede, v.pris, u.udsalgPct FROM varer v, varegrupper vg LEFT JOIN vgudsalg u ON vg.top = u.vgID WHERE v.tilhgrp = vg.vgID AND (v.ring_for_pris = 'on' OR v.lagerstatus > 0 OR v.saelgIkkePaaLager = 'on') AND v.aktiv = 'on' AND v.vID <> 0 AND v.tilhgrp IN (0) ORDER BY v.vID
SELECT DISTINCT v.vID, v.vnavn, v.harBillede, v.pris, b.picnavn, b.height, b.width, u.udsalgPct FROM varer v, varegrupper vg (LEFT JOIN vgudsalg u ON vg.top = u.vgID) (LEFT JOIN produktbilleder b ON v.vID = b.vID) WHERE v.tilhgrp = vg.vgID AND (v.ring_for_pris = 'on' OR v.lagerstatus > 0 OR v.saelgIkkePaaLager = 'on') AND b.standard = 1 AND v.aktiv = 'on' AND v.vID <> 0 AND v.tilhgrp IN (0) ORDER BY v.vID
SELECT DISTINCT v.vID, v.vnavn, v.harBillede, v.pris, b.picnavn, b.height, b.width, u.udsalgPct FROM varer v (INNER JOIN varegrupper vg ON v.tilhgrp = vg.vgID) (LEFT JOIN vgudsalg u ON vg.top = u.vgID) (LEFT JOIN produktbilleder b ON v.vID = b.vID) WHERE (v.ring_for_pris = 'on' OR v.lagerstatus > 0 OR v.saelgIkkePaaLager = 'on') AND b.standard = 1 AND v.aktiv = 'on' AND v.vID <> 0 AND v.tilhgrp IN (0) ORDER BY v.vID
men det virker heller ikke... [MySQL][ODBC 3.51 Driver][mysqld-5.0.15-nt]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 '(INNER JOIN varegrupper vg ON v.tilhgrp = vg.vgID) (LEFT JOIN vgudsalg u ON vg.t' at line 1
SELECT DISTINCT v.vID, v.vnavn, v.harBillede, v.pris, b.picnavn, b.height, b.width, u.udsalgPct FROM (((varer v INNER JOIN varegrupper vg ON v.tilhgrp = vg.vgID) LEFT JOIN vgudsalg u ON vg.top = u.vgID) LEFT JOIN produktbilleder b ON v.vID = b.vID) WHERE (v.ring_for_pris = 'on' OR v.lagerstatus > 0 OR v.saelgIkkePaaLager = 'on') AND b.standard = 1 AND v.aktiv = 'on' AND v.vID <> 0 AND v.tilhgrp IN (0) ORDER BY v.vID
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.