Calcul d'un champ numérique en fonction des mois

Fermé
naima - 28 mars 2015 à 20:28
isold Messages postés 54 Date d'inscription samedi 8 mars 2014 Statut Membre Dernière intervention 30 août 2016 - 8 avril 2015 à 19:44
bonjour, svp aidez moi j'ai une requete marché parmi les champs que j'ai dans cette requete :"montant du marché", la "date de commencement", "délai d'exécution" et un champ que j'ai calculé "date fin de travaux"; ce que je veux c'est de créer ne requete qui m'affiche que les enregistrement dont la date de fins est supérieurs au 01 janvier de chaque année j'ai un champ numérique (montant) et un champ date, ce que je demande c'est de créer un champ qui et un autre champ qui doit égale au produit du "montant du marché" par le nombre de mois exemple: j'ai le montant 21000 dhs et la date c'est 12/09/2015, je veux le montant soit égale à 210000*4 (4mois) merci

1 réponse

isold Messages postés 54 Date d'inscription samedi 8 mars 2014 Statut Membre Dernière intervention 30 août 2016 5
8 avril 2015 à 19:44
Bonjour Naima,

Pour faciliter l'écriture et eviter les espaces, j'ai renommé tes champs de cette façon :
montant du marché     = montant
date de commencement = debut
delai d'exécution = delai
date fin de travaux = fin

Ci-dessous une requête qui affiche les enregistrements dont le champ fin (de travaux) est supérieur au 1er janvier de l'année en cours :
SELECT *
FROM   ma_Table
WHERE  fin > concat(year(now()),'-01-01');

Pour une autre année, tu peux remplacer concat(year(now()),'-01-01') par 'AAAA-01-01' dans lequel tu remplaces AAAA par l'année de ton choix.

Je ne peux répondre à ta deuxième question ou du moins partiellement.

Il te faut d'abord créer un champ de type numérique (ou décimal, selon le cas) dans la table en question, champ nommé (par exemple) 'valeur' (pour valeur du marché).

Ensuite il te suffit de mettre à jour ta table :
UPDATE ma_Table
SET valeur = montant * mois;


SAUF QUE je ne peux évaluer la valeur de 'mois' dans l'expression ci-dessus, dans la mesure où je ne sais pas quoi calculer. Le nombre de mois de quoi et par rapport à quoi ? Dans l'exemple que tu fournis avec 21000 dirhams et le 12/09/2015, je ne vois pas où tu as été cherché 4 mois. Depuis le 1er janvier courant, il y a plus de 4 mois et jusqu'au 1er janvier suivant il y a moins de 4 mois.

Veux-tu parler du nombre de mois entre la date de début et la date de fin ? (fin - debut). Si c'est de cela que tu veux parler, quelle conduite tenir si le nombre de mois n'est pas juste ? Exemple : 3 mois et 23 jours ou 4 mois et 5 jours ?
0