Hejsan.
Håller just på att migrera min blogg från access till mySql och sprang på detta problem:
[MySQL][ODBC 3.51 Driver][mysqld-5.0.45-log]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 '+t1.cat+'%' OR t2.cat LIKE ''+t1.cat+'%' OR t2.cat LIKE '%'+t1.cat+'' AND site=' at line 1
på frågan nedan:
select t1.cat,(select count(t2.cat) from tblDagbok as t2 where t2.cat LIKE '%'+t1.cat+'%' OR t2.cat LIKE ''+t1.cat+'%' OR t2.cat LIKE '%'+t1.cat+'' AND site='"&thisSite&"') from tblCat as t1 where site='"&thisSite&"' Group by cat
Eftersom jag inte kan mySql alls så vore det grejt om nån kunde peka mig i rätt riktning :)
Skulle säga att du inte kan använda + för konkatenering. Använd concat istället, dvs
select t1.cat, (
select count(t2.cat) from tblDagbok as t2 where
t2.cat LIKE CONCAT('%', t1.cat, '%'),
OR t2.cat LIKE CONCAT(t1.cat, '%'),
OR t2.cat LIKE CONCAT('%', t1.cat)
AND site='"&thisSite&"')
from tblCat as t1
where site='"&thisSite&"' Group by cat
Sen vill jag också hälsa att du inte behöver ha med de två OR-villkoren, eftersom exempelvis LIKE "%bc%" matchar såväl "abcd" som "abc" och "bcd". Sen ser frågan inte helt superoptimal ut ur prestandasynpunkt (för att uttrycka sig milt) men det kanske är medvetet? :)
Tusen tack, testade Concat tidigare men det funkade inte, eller det funkade men jag hadde ytterligare fel i koden och nu när dom var fixade så funkar det :)
261 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9