Bonjour,
Je suis novice dans le domaine (il vaut mieux preciser !)
La requete qui me pose probleme concerne deux tables distinctes: original et revised
Dans la premiere des donnees d'une manip scientifique (des moniteurs a neutrons) arrivent en temps reel
et dans la deuxieme on place les eventuelles correction qui ont ete apportee a posteriori
Chaque enregistrement a un timestamp unique. Exemple:
timestamp-------------original
2009-01-29 02:30:00-----780
2009-01-29 02:31:00-----799
2009-01-29 02:32:00-----783
2009-01-29 02:33:00-----632
2009-01-29 02:34:00-----nullJe cherche une requete qui me permette de recuperer les valeurs originales, en les remplacanttimestamp------------revised
2009-01-29 02:31:00-----785
2009-01-29 02:33:00-----null
par les revisees si un timestamp correspond dans la table revised, et que les "null" soient bien pris en compte
La requete doit donc me renvoyer:
J'ai essayer ce type de requete:2009-01-29 02:30:00---780
2009-01-29 02:31:00---785
2009-01-29 02:32:00---783
2009-01-29 02:33:00---null
2009-01-29 02:34:00---null
Ce qui marche sauf pour les valeurs "null" de revised... car COALESCE cherche la premiere valeur non "null" de la table
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 SELECT original.timestamp, COALESCE(revised, original) AS revoriginal FROM `original` LEFT JOIN `revised` ON original.timestamp = revised.timestamp WHERE original.timestamp > '2009-01-29 02:30:00'
Je precise qu'il n'est pas possible de remplacer ces valeurs null par des 0.
Voila j'espere avoir ete clair !?
Merci d'avance a tous ceux qui voudront bien se pencher sur le probleme.
Partager