29. april 2003 - 14:54Der er
9 kommentarer og 1 løsning
Problemer med HAVING-clause
"SELECT t_messages.id, t_users.navn, t_messages.message, t_messages.date, t_messages_1.date AS nyesteindlæg, Count(t_messages_1.id) AS AntalOfid " & _ "FROM t_messages AS t_messages_1 RIGHT JOIN t_messages ON t_messages_1.responseid = t_messages.id INNER JOIN t_users ON t_users.id = t_messages.userid " & _ "GROUP BY t_messages.id, t_users.navn, t_messages.message, t_messages.date, t_messages_1.date, t_messages.responseid, t_messages.forumid HAVING (((t_messages.responseid)=0) AND ((t_messages.forumid)=1)) " & _ "ORDER BY t_messages_1.date DESC;"
Giver fejlen [MySQL][ODBC 3.51 Driver][mysqld-3.23.53-log]Unknown column 't_messages.responseid' in 'having clause'
Er snart træt af at sidde og rodde med sql-qurrys - Findes der ikke er program som kan lave dem for en, som er nogenlunde ligeså avanceret som f.eks. MS Access forspørgelses-generator ?
I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Forskellen på WHERE og HAVING - som jeg fortæller det til min 6 årige datter, når hun vil vide hvad farmand går og laver:
WHERE kan undersøge felter i tabellerne før man laver GROUP BY, og bør bruges hvis de derved kan frasortere rækker -> billigere GROUP BY.
HAVING undersøger felter efter GROUP BY - både dem, der bare kommer med over (og som man ligesågodt kunne have checket i WHERE), men også de nye, der er resultat af fx. en COUNT(xxx) as yyy.
MySql kan måske selv optimere lidt på det. Din "fejl" var at responsid ikke var nævnt mellem SELECT og FROM.
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.