Salut, j'ai une première requete qui interroge 2 tables pour faire des stat de sites :
SELECT SQL_CALC_FOUND_ROWS
hd.site, CAST(hd.uuid AS CHAR) as id, SUM(hit) as hit, day, ss.ip, ss.browser as navi
FROM hitsPerDay hd, s_session ss
WHERE hd.day='#searchDay#'
AND hd.site='#attributes.appName#'
AND hd.uuid=ss.uuid
GROUP BY hd.uuid
Puis, pour chaque id trouvé dans le resultat de la requete (un identifiant unique de l'utilisateur), j'effectue une boucle pour chercher le 1er referer (par ordre chronologique) :
SELECT referer
FROM s_page
WHERE uuid=#id#
AND DATE_FORMAT(ts,'%Y%m%d')='#searchDay#'
ORDER BY ts ASC
LIMIT 1
C'est evidemment pas du tout optimisé et j'aimerais bien faire ça dans un seul SELECT mais la jointure me demeure completement obscure dès qu'il y a des group by et des limit (et c'est pas faute d'avoir lu des doc sur SQL). J'ai fait qq essais mais ça me rend n'importe quoi.
Si une bonne âme veut bien se dévouer, merci
(ps : c'est en coldfusion mais c'est pas le problème)
Message édité par Friday Monday le 14-04-2005 à 14:53:49