Derniers journaux de arkos_rip :

Journal : Stats imprimante

Posté par arkos_rip () le 24 février 2004
0
j'ai une table du style :

noserie | date | compteur

01 | 2004-01-01 | 10
01 | 2004-01-02 | 35
01 | 2004-01-03 | 42

et je voudrais quelque chose du style :

01 | 2004-01-02 | 25
01 | 2004-01-03 | 7

faisable avec une requete SQL, ou dois-je passer par des calculs intermediaires ?

car apres en fonction du noserie et d'une periode, je veux afficher le nombre d'impression par mois/semaine/jour

> Lire le journal (7 commentaires, moyenne: 2,3).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Re: Stats imprimante

Posté par Hardy Damien (page perso, ) le 24/02/2004 à 12:20. (lien). Évalué à 5.

j'ai rien compris
c'est sensé représenter quoi le resultat par rapport a la table ? (on ne retrouve pas les compteurs)

Dam

  • [^]Re: Stats imprimante

    Posté par Lee Nux () le 24/02/2004 à 12:23. (lien). Évalué à 1.

    Je plussoie, car la demande est tout sauf clair.

    Sinon, essaye avec la fonction random(), tu auras bien des chiffres aléatoires...

    Ok, je suis (oups) plus là []

  • [^]Re: Stats imprimante

    Posté par cumulus () le 24/02/2004 à 12:29. (lien). Évalué à 2.

    Il veut faire un différentiel entre chaque ligne :
    25=35-10
    7=42-35

    C'est ça ?

    • [^]Re: Stats imprimante

      Posté par arkos_rip () le 24/02/2004 à 12:56. (lien). Évalué à 1.

      désolé, mais c'est effectivment la difference.

Re: Stats imprimante

Posté par fabrice Mercier (page perso, ) le 24/02/2004 à 12:40. (lien). Évalué à 4.

SELECT
table2.noserie noSerie,
table2.date date,
(table2.compteur - table1.compteur) nombreImpressions

FROM

table table1,
table table2

WHERE

/*
La ca fait une jointure sur le jour suivant mais tu peux le faire par semaines ou mois)
*/

EXTRACT(DAY FROM table1.date) = EXTRACT((DAY FROM table1.date)+1)

bon la par contre le dernier jour est viré car on fait une jointure.
On pourra faire un LEFT JOIN en lieu de jointure et remplacer la valeur NULL résultante par isNULL(date,0)

En fait arrivé à ce stade, je sais pas si va marcher lol mais bon c'est faisable en une seule requête.

Je le poste quand même, toutes les ébauches d'aides sont profitables.

  • [^]Re: Stats imprimante

    Posté par Hardy Damien (page perso, ) le 24/02/2004 à 12:55. (lien). Évalué à 2.

    en oracle ca donne un truc comme ca je pense

    --1 jour
    select t1.noserie, t1.date, t1.compteur - t2.compteur from test t1, test t2 where t1.noserie = t2 .noserie and t2.date = t1.date - 1

    --une semaine
    select t1.noserie, t1.date, t1.compteur - t2.compteur from test t1, test t2 where t1.noserie = t2 .noserie and t2.date = t1.date - 7

    --1 mois
    select t1.noserie, t1.date, t1.compteur - t2.compteur from test t1, test t2 where t1.noserie = t2 .noserie and t2.date = add_months(t1.date,-1)

    avec le meme souci pour les premiers (jour ,semaine, mois) de chaque noserie que fabrice

    Dam

Re: Stats imprimante

Posté par Jonathan ILIAS (Jabber id, page perso, ) le 24/02/2004 à 13:32. (lien). Évalué à 1.

Le problème à mon sens c'est que ton traitement semble imposer de l'itératif et que, si je ne m'abuse, ce n'est pas possible en SQL...

Revenir en haut de page