Bonjour,
Si j'ai bien tout
Jean-Paul Argudo/ = 20 Septembre, 2006 - 09:23
Bonjour,
Si j'ai bien tout compris Ă votre problĂšme, l'astuce consiste Ă utiliser une requĂȘte en UNION sur l'ensemble de vos vues. Je prends par principe que la date est unique dans chacune des vues (si ce n'est pas le cas, la requete ci-dessous va faire des sommes des valeurs...)
Soit 3 vues que vous voulez joindre dans une seule et mĂȘme requĂȘte, en ligne (l'exemple est adaptable Ă n vues):
select madate, sum(v1), sum(v2), sum(v3)
from
(
select date madate, valeur V1, 0 v2, 0 v3
from vue1
UNION
select date, 0, valeur, 0
from vue2
UNION
select date, 0, 0, valeur
from vue3) foo
group by madate;
L'alias des colonnes n'est utile que sur le 1er SELECT.
N'hésitez pas à revenir sur le forum si ce n'est pas exactement ce que vous vouliez.
Cordialement,
--
Jean-Paul ARGUDO
www.dalibo.com
[ Vous devez
vous connecter pour poster des commentaires ]
Bonjour et merci pour votre r
jduv/ = 20 Septembre, 2006 - 11:16
Bonjour et merci pour votre réponse,
En fait, ce que je cherche Ă faire est un genre de concatenation des vues en une seule en ne conservant qu'une seule des colonnes date puisque ce sont toutes les mĂȘmes qlq soit la vue.
La vue finale aurait donc le mĂȘme nombre de lignes que les autres vues.
Je ne sais pas s'il est trĂ©s judicieux de vouloir faire cela en SQL mais c'est le genre de question que je me pose souvent. La manipulation du rĂ©sultat de requĂȘtes SQL doit elle se faire en php via des tableaux ou peut on imaginer le faire en sql sachant que le but final est d'enregistrer le rĂ©sultat dans un fichier csv.
J'ai eut l'occasion de vĂ©rifier que le traitement par Postgresql est jusque lĂ (d'aprĂ©s moi et moi seul) toujours plus rapide que le mĂȘme fait en php, mais je n'ai pas beaucoup des cas diffĂ©rents pour l'affirmer.
Est il adĂ©quat de crĂ©er des vues via un script php et de les supprimer ensuite ou faut il mieux stocker le rĂ©sultat de chacune des requĂȘtes SQL dans des tableaux php ?
Sachant que dans ce cas prĂ©cis j'utilise des vues qui sont crĂ©es via une requĂȘte suffisemment complexe (au moins pour moi) Ă partir desquelles je refait une autre requĂȘte tout aussi complexe. et que je le mĂȘme enchainement en une seule et mĂȘme requete est peut ĂȘtre faisable mais devient assez indigeste au niveau comphĂ©hension.
[ Vous devez
vous connecter pour poster des commentaires ]
Donc tu fais une vue depuis 3
sparky/ = 20 Septembre, 2006 - 10:55
Donc tu fais une vue depuis 3 vues ? Il vaut mieux vérifier l'utilisation des index sur date_j
La syntaxe est correcte, tu pourrais aussi faire
select view1.date_j,view1.val,view2.val,view3.val
from view1 join view2 using (date_j) join view3 using (date_j)
[ Vous devez
vous connecter pour poster des commentaires ]
Soyons clair, les vues sont l
sparky/ = 20 Septembre, 2006 - 16:46
Soyons clair, les vues sont lĂ pour facilier le code, donc Ă ne pas utiliser Ă tort et Ă travers mais Ă utiliser Ă bon escient...
[ Vous devez
vous connecter pour poster des commentaires ]