15. august 2003 - 09:38Der er
16 kommentarer og 1 løsning
SELECT IN fra mySQL 4.0.14
Hejsa eksperter
Jeg har lige fået mig en ny DB og det er jo mySQL. Jeg har indtil nu kørt med Access DB. Jeg får nu en SQLfejl som jeg ikke lige kan gennemskue:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14' [MySQL][ODBC 3.51 Driver][mysqld-4.0.14-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 'SELECT vinID FROM karakterer WHERE (stat = 3 OR stat = 2) AND b
/include/vinlisten.asp, line 6
SQL'en ser således ud: SELECT COUNT(vinID) AS antalRes FROM vin WHERE anmeldt >= " & cLng(cDate(date)-28) & " AND (vinID) IN (SELECT vinID FROM karakterer WHERE (stat = 3 OR stat = 2) AND beskrivelse <> '')
Jeg har på fornemmelsen at det er "IN" der er synderen, men hvad kan man bruge i stedet ?
sql = "select count(vinID) AS antalRes FROM vin,karakterer where vin.vinID=karakterer.vinID AND vin.anmeldt >= " & cLng(cDate(date)-28) & " AND karakterer.stat in (3,2) AND karakterer.beskrivelse<>'' "
Jeg har nu lavet det om til dette men det giver ikke nogen resultater!
Select COUNT(vin.vinID) AS antalRes FROM vin, karakterer WHERE vin.vinID=karakterer.vinID AND vin.anmeldt >= " & cLng(cDate(date)-28) & " AND (karakterer.stat = 3 OR karakterer.stat = 2) AND karakterer.beskrivelse <> '' AND vin.vinID = karakterer.vinID
Så er clng nok ikke så godt ;) En clng(date) giver vist antal dage siden 1970, mens datetime viser datoen som fx 20030814. Du kan vælge at gøre dit felt til en INT, og bevare clng... eller lave i ASP/VB datoen som 20030814 i stedet for.
Ja, det er den "rigtige" løsning af 2 du har anført. Den anden er at lave 20030814 i stedet for 2003-8-14, men så skal man rode med foranstillede 0-er.
Vi kunne ikke bytte nogle point for et par vareprøver ? *g* Men fint med linket, det er faktisk rart at se at det lidt hjælp man kan give her, faktisk bliver brugt til noget fornuftigt!
Du kan se forskellen hvis du går ind på www.vinguide.com for den kører stadig på Access, men du skal ikke oprette dig som bruger før i morgen, da jeg ikke ved hvordan jeg henter nye poster ind i DB som allerede er importeret
Jeg mener selvfølgelig ikke at du skal oprette dig, jeg mener bare at det stort set kun er forsiden der virker ;-)
Synes godt om
Ny brugerNybegynder
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.