[gull] Question SQL: créer des comparatif

Martial Guex m.guex at mutech.ch
Sat May 12 21:21:41 CEST 2007


Salut,
T'est obligé de passer par la création d'un vue te retournant la dernières 
dates pour chaque Marchandise et Commerce dans la table Sondages. 

 CREATE View last_date_of_sondages_by_commerce_and_marchandise AS
  SELECT
   Commerce,
   Marchandise,
   MAX(Date) AS LastDate
  FROM
   Sondages
  GROUP BY   
   Commerce,
   Marchandise

Ensuite il extraire le reste de l'enregistrement avec un truc du genre

 SELECT
  S.Id,
  LD.Commerce,
  LD.Marchandise,
  LD.LastDate,
  S.Prix
 FROM
  last_date_of_sondages_by_commerce_and_marchandise LD
 INNER JOIN Sondages S ON
  LD.Commerce=S.Commerce AND
  LD.Marchandise=S.Marchandise AND
  LD.LastDate=S.Date

Il est important que les champs Commerce,Marchandise et Date de la table 
sondage formes un clé unique (index).

Si tu n'a pas la possibilité de créer une vue a mon avis tu est mal barré mais 
je n'ai pas la science infuse. 

A+
Martial Guex


On samedi, 12 mai 2007, Félix Hauri wrote:
> Bonjour,
>
> Cette est une question générale et n'est pas tributaire d'un moteure SQL
> en particulier,
>
> Soit trois trois tables:
>
> - Marchandise:
> Id          Integer Auto-Increment Indexed
> Descrption  Text
> Unité       ( Kilo ou Piece )
>
> - Commerce:
> Id          Integer Auto-Increment Indexed
> Nom         Text
> Adresse     Text
>
> - Sondages:
> Id          Integer Auto-Increment Indexed
> Date        Date default=``now''
> Commerce    Id(Commerce)
> Marchandise Id(Marchandise)
> Prix        Floating
>
> J'aimerais réaliser une table temporaire, présentant de la sorte:
>
> - Comparaison:
> Marchandise Id(Marchandise)
> Commerce_1   Prix (Marchandise, Commerce_1, selon dernier sondage)
> Commerce_... Prix (Marchandise, Commerce_..., selon dernier sondage)
> Commerce_n   Prix (Marchandise, Commerce_n, selon dernier sondage)
>
> Comment s'y prendre?
> Toutes suggestions sera bienvenue, en n'oubliant pas de préciser pour
> toutes syntaxes proposée, le moteur utilisé et sa version.



-- 
MuTECH, Martial Guex
Rue des Alpes 3
1452 Les Rasses
Switzerland
Phone:+41 (24) 454 46 35
Fax:+41 (24) 454 46 32
Email: m.guex at mutech.ch



More information about the gull mailing list