Faire une seule requete avec 2

Faire une seule requete avec 2 - SQL/NoSQL - Programmation

Marsh Posté le 14-04-2005 à 14:52:07    

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
Reply

Marsh Posté le 14-04-2005 à 14:52:07   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed