sletouil
Messages postés2Date d'inscriptionlundi 27 octobre 2008StatutMembreDernière intervention27 octobre 2008
-
27 oct. 2008 à 11:43
sletouil
Messages postés2Date d'inscriptionlundi 27 octobre 2008StatutMembreDernière intervention27 octobre 2008
-
27 oct. 2008 à 16:08
Bonjour à tous,
Je bug sur une requête a la noix, voici ma requête :
SELECT info_id, date_modified, field_name, old_value, new_value
FROM info_history_table
where date_modified like '%2008-10-%'
and old_value like ('80')
and new_value like '90'
order by info_id asc;
Dans cette requête je souhaite voir apparaitre toutes les infos qui sont passer de la valeur 80 à 90 a la date de ce passage.
Ma question : je souhaite voir les infos qui ne sont pas supérieure a +10 jours de date_modified lors de ce passage? Savez-vous comment je peux faire?
Car la je suis bloqué et ne vois pas la solution qui est peut être toute simple.
fregolo52
Messages postés1114Date d'inscriptionmercredi 15 juin 2011StatutMembreDernière intervention 6 mai 20214 27 oct. 2008 à 15:05
salut
Utilise INVERTAL +10 DAY.
Ce que tu veux ne peux pas être fait en une seule requête, je pense.
Tu dois faire ta requete, puis en aire une autre avec le résultat de la 1ere.
Ex si ton enregistrement a retourné la date 2008-10-05 : (c'est du code MySQL qui est peut-être à adapter)
SELECT info_id, date_modified, field_name, old_value, new_value
FROM info_history_table
where date_modified between '2008-10-05' and ('2008-10-05' + INTERVAL 10 DAY)
and old_value like ('80')
and new_value like '90'
order by info_id asc;
sletouil
Messages postés2Date d'inscriptionlundi 27 octobre 2008StatutMembreDernière intervention27 octobre 2008 27 oct. 2008 à 16:08
Dans un premier temps,
Merci de ta réponse.
Dans le second temps
j'ai fait cette requête
SELECT info_id, date_modified, field_name, old_value, new_value
FROM info_history_table
where date_modified between '2008-10-01' and ('2008-10-01' + INTERVAL 10 DAY)
and old_value like ('80')
and new_value like '90'
order by info_id asc;
voici le retour :
ERROR: syntax error at or near "10"
LINE 3: ...ed between '2008-10-01' and ('2008-10-01' + INTERVAL 10 DAY)
^
********** Erreur **********
ERROR: syntax error at or near "10"
État SQL :42601
Caractère : 204
Pensant que je pouvais l'adapter au contexte du mois et pour chaque jour entre 1 et 30(31), il ajoute 10 jours en corrigeant le 10 avec des simples cotes
SELECT info_id, date_modified, field_name, old_value, new_value
FROM info_history_table
where date_modified between '2008-10-%' and ('2008-10-%' + INTERVAL '10' DAY)
and old_value like ('80')
and new_value like '90'
order by info_id asc;
Le requeteur pgadmin me retourne l'info suivante.
ERROR: invalid input syntax for type timestamp: "2008-10-%"
********** Erreur **********
ERROR: invalid input syntax for type timestamp: "2008-10-%"
État SQL :22007
Il prend pas en compte le % pour ce type de fonction.
Au départ je pensais que je pouvais rever d'une requete qui ressemblerait a cela :
select info_id, summary, date_submitted, field_id, "value"
from info_bug_table
inner join info_custom_field_string_table on info_custom_field_string_table.info_id = info_bug_table.id
where date_submitted like '2008-10-%' and field_id in ('177','178') and "value" BETWEEN date_submitted and (date_submitted + INTERVAL '10' DAY) order by info_id asc
mais je crois que je peux continuer a rever car il ne me construit que le tableau sans valeurs. Je dois avoir un problème quelque part mais je ne vois pas ou exactement.
Merci pour ta réponnse c'est très gentil.