requete: combler les "vides" dans une table avec des donnees [SQL] - SQL/NoSQL - Programmation
Marsh Posté le 04-02-2011 à 08:00:37
Pourquoi le faire en sql? Il y a un langage appelant, en-dessous? Demander au sgbd de retourner des données vides n'a pas un intérêt fabuleux non?
Marsh Posté le 04-02-2011 à 08:42:03
Avec SQL Server il y a moyen (le principe est probablement correct pour les autres SGBD aussi):
Faire un Left join avec une table contenant toutes les dates, ca te permettra de generer les trous.
La table avec toutes les dates peut etre generée a la volée (avec des comon table expression) si tu veux que tout tienne dans une seule query.
Voila ce que ca donne pour SQL Server:
Code :
|
Résultats:
dte nombre
2011-01-29 00:00:00.000 4
2011-01-30 00:00:00.000 4
2011-01-31 00:00:00.000 4
2011-02-01 00:00:00.000 NULL
2011-02-02 00:00:00.000 4
2011-02-03 00:00:00.000 4
Marsh Posté le 04-02-2011 à 18:00:44
>skeye
oui tu as probablement raison, ca serait plus propre
>Oliii
j'ai pense au outer join mais bon... c'est pas super elegant
Marsh Posté le 04-02-2011 à 03:54:51
salut a tous
admettons que j'aie une table (date, nombre) avec admettons pour simplifier 1 entree maximum par date (mais possiblemenent 0)
je cherche a faire une query qui me retourne les 10 derniers jours sous forme couples (date, nombre) en comblant les trous
cad si aujourd'hui est le 03 fevrier et qu'il manque le 1er fevrier, j'aimerais que ma query retourne (je mets des 4 partout pour le nombre pour faciliter):
2011-02-03, 4
2011-02-02, 4
2011-02-01, 'NULL'
2011-01-31, 4
2011-01-30, 4
2011-01-29, 4
etc
est ce possible via une requete un peu rusee (postgresql) ?