Requete selection d'historique [Résolu] - SQL/NoSQL - Programmation
Marsh Posté le 13-06-2007 à 12:06:16
ajouter "GROUP BY assets.id" à la fin de ta requête. T'auras plus qu'1 ligne par asset mais t'aura aussi plus qu'une valeur pour la variation. C'est normal, d'avoir plusieurs lignes puisque pour un asset, tu remontes plusieurs lignes de histo...
Marsh Posté le 13-06-2007 à 12:09:26
AMA et si j'ai tout compris, t'es obligé de passer par une sous requête.
Quelque chose dans le genre:
Code :
|
edit: Pour que cela marche correctement il faut au choix que:
Dans le cas contraire le jointure sur histo pourra toujours potentiellement remonter plus de lignes qu'il n'en faut
Marsh Posté le 13-06-2007 à 12:18:44
En fait le souci c'est que genre j'ai ça qui apparait
assets.type assets.name assets.id assets.user_id histo.date histo.etat histo.commentaire histo.variation
------------------------------------------------------------------------------------------------------------------
............
1 TEST 1 1 2007-06-12 12:01:20 10 NULL 2
1 TEST 1 1 2007-06-12 17:32:41 20 NULL 2
............
Alors que je n'ai besoin que de la deuxième ligne...
Marsh Posté le 13-06-2007 à 12:24:01
merci anapajari,
Ta requête est au poil, il me faudrait juste que même les assets qui n'ont pas de state enregistré ressortent avec les champs histo à NULL, et ce serait magique!
encore merci!
Marsh Posté le 13-06-2007 à 12:48:55
saymons a écrit : merci anapajari, |
Je crois avoir trouvé la soluce :
Code :
|
ça me retourne la totalité des assets, et après je peux même filtrer traquilou par type.
Si jamais ya une éventualité que ma modif soit pas si opé que ça, faites moi signe!
Merci!
Marsh Posté le 13-06-2007 à 13:23:56
nan changer la jointure est ce qu'il fallait mais j'aurais changé les deux en left outer du coup.
Marsh Posté le 13-06-2007 à 13:55:15
moi j'aurai utilisé une solution similaire à celle d'anapajari, mais sans faire une jointure. juste une égalité sur la sous-requête, mais ça doit revenir au même.
Marsh Posté le 13-06-2007 à 11:53:26
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.
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