folgendes problem bei anfrage, diese anfrage fkt ist aber oberlangsam
ich wollte es eigentlich so lösen aber da krieg ich immer die fehlermeldung Unknown column 'ct' in 'where clause'
mir entzieht sich grad der fehler warum soll das nicht gehen?
danke für hilfe
PHP-Code:
SELECT DISTINCT image.img_id, COUNT( image.img_id ) AS ct, image.url, UNIX_TIMESTAMP( image.datum ) AS timestamp, keywords.de AS tmp
FROM keyword AS keywords
INNER JOIN keyword_matches AS matches
USING ( key_id )
INNER JOIN imagebank AS image
USING ( img_id )
WHERE (
keywords.de LIKE '%fliegender'
OR keywords.de LIKE 'fliegender%'
)
OR (
keywords.de LIKE '%teppich'
OR keywords.de LIKE 'teppich%'
)
OR (
keywords.de LIKE 'fliegender teppich'
)
GROUP BY image.img_id
HAVING ct >= IF( tmp LIKE 'fliegender teppich', 1, 2 )
ORDER BY image.hits DESC
LIMIT 0 , 25
ich wollte es eigentlich so lösen aber da krieg ich immer die fehlermeldung Unknown column 'ct' in 'where clause'
PHP-Code:
SELECT DISTINCT COUNT( image.img_id ) AS ct, image.img_id, image.url, UNIX_TIMESTAMP( image.datum ) AS timestamp
FROM keyword AS keywords
INNER JOIN keyword_matches AS matches
USING ( key_id )
INNER JOIN imagebank AS image
USING ( img_id )
WHERE (
keywords.de LIKE '%fliegender'
OR keywords.de LIKE 'fliegender%'
)
OR (
keywords.de LIKE '%teppich'
OR keywords.de LIKE 'teppich%'
)
OR (
keywords.de LIKE 'fliegender teppich'
)
AND IF( keywords.de LIKE 'fliegender teppich', 1, ct >=2 )
GROUP BY image.img_id
ORDER BY image.hits DESC
LIMIT 0 , 25
danke für hilfe
Kommentar