[gull] Question SQL: créer des comparatif
Félix Hauri
felix at f-hauri.ch
Mon May 14 13:25:08 CEST 2007
On Sun, May 13, 2007 at 01:40:42PM +0200, Amel Kapetanovic wrote:
> Salut,
>
> Je m'y prendrais du genre (non testé, SQL2) :
>
> SELECT S.Commerce, S.Prix
> FROM Sondage S
> WHERE S.Marchandise = Id_choisi AND
> S.Date IN (
> SELECT MAX(T.Date)
> FROM Sondage T
> WHERE S.Commerce = T.Commerce AND
> S.Marchandise = T.Marchandise
> )
> ;
Hmm. oui, jusque là, j'étais arrivé;-)
(ou par une table temporaire comme proposé par Martial)
>
> Remarquons qu'on est ennuyé si il y a >1 date max par (Commerce,
> Marchandise) dans Sondage
Cela ne risque pas: on ne va pas sonder deux fois le même magasin
dans la même journée...
(au pire en ajoutant ``ORDER BY Id DESC LIMIT 1'' avant
la fermeture de parenthèse, voire en se basant sur Id qui
est nécessairement unique et tant que ORDER by Id ne
peut pas contredire ORDER by date... ;)
En fait, j'aimerais arriver à préparer un truc du style:
SELECT Marchandise.descr, Prix(Commerce_1,MAX(Date)),
Prix(Commerce_...,MAX(Date)), Prix(Commerce_n,MAX(Date))
FROM My database...
... ORDER BY Marchandise.descr
Pour obtenir qqch comme:
``Comparaison en date du: $date
Marchandise | Coop | Migros | Denner | ...
------------------+---------+---------+----------+--
Chocolat au lait | 12.- | 12.- | 12.- |...
Mouton Rotschild | 120.- | 120.- | 120.- |...
... ''
> Félix Hauri a écrit :
> > ...
> >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)
--
Félix Hauri - <felix at f-hauri.ch> - http://www.f-hauri.ch
More information about the gull
mailing list