Bonjour à tous et à toutes,
J'ai un gros problème, je lutte assez violement dessus :
Mes tables :
histo
--------------
id
date
etat
commentaire
variation
asset_id
user_id
assets
--------------
id
name
type
Mon problème :
histo.variation peut prendre 3 valeurs : 0,1 ou 2
Je dois selectionner les element les plus récents de chaque asset pour avec les variations 0, 1 et 2, avec le nom et le type de chaque asset :
resultat voulu
-------------------
assets.type
assets.name
assets.id
assets.user_id
histo.date
histo.etat
histo.commentaire
histo.variation
Le point noir de la situation :
J'ai une requête qui me donne toutes le infos, mais avec des doublons sur les variations lorsque state prend une valeur différente de la précédente.
Code :
- SELECT
- assets.type,
- assets.id,
- assets.name,
- histo.variation,
- MAX(histo.date),
- histo.state
- FROM
- histo RIGHT JOIN assets
- ON histo.asset_id=assets.id
- WHERE assets.type=1
- GROUP BY
- histo.variation,
- assets.type,
- assets.id,
- assets.name,
- histo.state
- ORDER BY
- assets.type,
- assets.id,
- assets.variation
|
Malheuresment, j'ai ces doublons qui m'ennuient beaucoup.
Je n'ai pas envie de faire une table contenant les derniers états de chaque variation de chaque asset... je trouve pas ça super clean.
Si quelqu'un a tout pigé à ce problème et peut m'aider, ce serait super cool!
Merci d'avance!
Message édité par saymons le 13-06-2007 à 14:22:57