Avatar billede ostehamster Nybegynder
11. september 2006 - 22:42 Der er 3 kommentarer og
1 løsning

where clause, klappen er gået helt ned

Hej,

Jeg prøver at laver dette:
SELECT opskrifter.id as id, IFNULL(sum(karaktertabel.karakter)/count(karaktertabel.karakter),0) as karakter
FROM opskrifter
LEFT JOIN opskrifter_karakter as karaktertabel ON opskrifter.id = karaktertabel.opskrift
WHERE opskrifter.godkendt = '1' AND karakter >= 7
GROUP by opskrifter.id, karaktertabel.opskrift
ORDER BY opskrifter.titel ASC
LIMIT 0,15;

Men får denne fejl: Unknown column 'karakteren' in 'where clause'

Jeg synes jeg har lavet det tricks mange gange, men det kan jeg vel ikke have gjort. Det er sikkert et trivielt spørgsmål, men jeg er helt blank lige pt :/

mvh
Christoffer
Avatar billede ostehamster Nybegynder
11. september 2006 - 22:42 #1
SQLen skulle være:
SELECT opskrifter.id as id, IFNULL(sum(karaktertabel.karakter)/count(karaktertabel.karakter),0) as karakteren
FROM opskrifter
LEFT JOIN opskrifter_karakter as karaktertabel ON opskrifter.id = karaktertabel.opskrift
WHERE opskrifter.godkendt = '1' AND karakteren >= 7
GROUP by opskrifter.id, karaktertabel.opskrift
ORDER BY opskrifter.titel ASC
LIMIT 0,15;

Sorry
Avatar billede kjulius Novice
12. september 2006 - 00:05 #2
Jeg kan ikke blive helt klog på, om der stadig er en fejl. Det tror jeg der må være, for når du laver en sum funktion, kan du ikke samtidig teste på den i WHERE delen. Så skal du ned på HAVING delen, da den først er fastlagt efter GROUP BY er gennemført. Så jeg tror du skal frem til noget lignende dette:

SELECT opskrifter.id as id, IFNULL(sum(karaktertabel.karakter)/count(karaktertabel.karakter),0) as karakteren
FROM opskrifter
LEFT JOIN opskrifter_karakter as karaktertabel ON opskrifter.id = karaktertabel.opskrift
WHERE opskrifter.godkendt = '1'
GROUP by opskrifter.id, karaktertabel.opskrift
HAVING karakteren >= 7
ORDER BY opskrifter.titel ASC
LIMIT 0,15;

I øvrigt undrer det mig, at du ikke bare bruger AVG funktionen i stedet for SUM / COUNT, men der er sikkert en mening med galskaben. :-)
Avatar billede ostehamster Nybegynder
12. september 2006 - 08:59 #3
Det ser ud til at virker. Mht. AVG, så er det udelukket galskab, jeg har ingen ide om hvorfor jeg ikke har tænkt på AVG :)

Smidder du et svar?
Avatar billede kjulius Novice
12. september 2006 - 19:40 #4
S'gerne... :-)
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
Computerworld tilbyder specialiserede kurser i database-management

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