|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 3 ![]() |
Bonsoir, je commence à désesperer sur une requete qui, je voudrais, interroge ma table devis_client en lui demander de retourner les enregistrements où le champ date_arrivee + champ duree = aujourd'hui
J'ai essayé beaucoup de chose, celle qui me semble s'en rapprocher le plus est celle-ci : Code sql :
SELECT * DATE_ADD(`date-arrivee` ,INTERVAL `duree` DAY) AS `date_depart` FROM `Devis_Clients` LIMIT 0 , 30 Quelqu'un aurait-il la bonté de me mettre sur la voie s'il vous plait ? |
|
|
00
|
|
|
#2 |
|
Membre expérimenté
![]() Inscription : avril 2005 Messages : 425 ![]() |
Bonsoir,
Et en mettant une virgule entre l'étoile et le DATE_ADD est-ce que ça ne marcherait pas mieux!
__________________
Lu kinze d' awousse, la Vierje arandje û dusbrôle lu timp. Et ce coup ci, elle ne nous a pas ratés |
|
|
10
|
|
|
#3 |
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 3 ![]() |
En effet Papyphp (merci beaucoup), comme quoi des fois ça ne tient à pas grand chose... J'utilise ce type de requête pour la première fois et je ne savais pas pour la virgule, le site où j'ai vu l'exemple ne la mentionnait pas...
je l'ai rajouté et effectivement ma requête me retourne des résultats, que j'aimerais filtrer... et mon where condition ne marche pas en gros voici ma requête complète : Code :
"SELECT *, DATE_ADD(`date-arrivee` ,INTERVAL `duree` DAY) AS `date_depart` FROM `Devis_Clients` WHERE `date_depart`='".date("Y-m-d")."' AND`devis_valide`= CONVERT( _utf8 '1' USING latin1 ) COLLATE latin1_german2_ci" Encore une fois peut-on encore m'aiguiller ? j'ai une idée comme étant de ne pas mettre de clause where concernant date_depart et de rajouter en php un if ($tableau['date_depart']==date("Y-m-d") {blabla} est ce la meilleure solution d'un point de vu fonctionnel ? |
|
|
00
|
|
|
#4 | ||
![]() ![]() Alain Ingénieur d'études décisionnel Inscription : mai 2002 Messages : 4 446 ![]() |
Il faut répéter dans la clause WHERE l'expression utilisée dans la clause SELECT.
Code :
__________________
Modérateur Langage SQL N'oubliez pas le bouton et pensez aux balises [code]Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur ![]() |
||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : octobre 2006 Messages : 3 ![]() |
En utilisant la condition if évoquée plus haut, ça fonctionne... Par contre, en utilisant la requete complete...
Code :
Erreur SQL !SELECT * , DATE_ADD(`date-arrivee` ,INTERVAL `duree` DAY) AS `date_depart` FROM `Devis_Clients` WHERE DATE_ADD(`date-arrivee` ,INTERVAL `duree` DAY) AS `date_depart` = '2011-10-28' AND `devis_valide` = CONVERT( _utf8 '1' USING latin1 ) COLLATE latin1_german2_ci |
|
|
00
|
|
|
#6 |
![]() ![]() Alain Ingénieur d'études décisionnel Inscription : mai 2002 Messages : 4 446 ![]() |
Bien évidemment, seule l'expression était à recopier dans la clause GROUP BY, sans la déclaration d'alias. Mais je pense que tu as compris d'où provenait l'erreur...
__________________
Modérateur Langage SQL N'oubliez pas le bouton et pensez aux balises [code]Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur ![]() |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com