probleme requete imbriquée

probleme requete imbriquée - SQL/NoSQL - Programmation

Marsh Posté le 08-12-2009 à 14:14:13    

bonjour,
 
j'ai une erreur dans ma requete suivante, il n'aime pas la 2eme partie. J'ai pourtant testé le "SELECT id FROM..." toute seule et elle me renvoit bien l'identifiant à effacer:
DELETE FROM `crm_commentaire` WHERE id_commentaire in
(SELECT id FROM `crm_temps` WHERE crm_temps.salarie='yann' and crm_temps.journee='2009-12-04' and crm_temps.id_projet='58' )
 
help!

Reply

Marsh Posté le 08-12-2009 à 14:14:13   

Reply

Marsh Posté le 08-12-2009 à 14:25:40    

quelle est l'erreur obtenue?


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 08-12-2009 à 14:29:03    

message d'erreur :
 
MySQL a répondu:
 
#1064 - You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT id
FROM  `crm_temps`  
WHERE crm_temps.salarie =  'yann'  

Reply

Marsh Posté le 08-12-2009 à 14:30:22    

Pourquoi tu échappes ton nom de table dans la clause from et pas dans la clause where?
Je vois bien mysql se vautrer là-dessus...:D


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 08-12-2009 à 15:00:30    

spo ça non plus(merci de t'interesser à mon pb), j'ai essayé ça :
 
 DELETE FROM `crm_commentaire` WHERE `id_commentaire` IN (
SELECT `id`
FROM `crm_temps`
WHERE `crm_temps.salarie` = `yann` AND `crm_temps.journee` = `2009 - 12 - 04` AND `crm_temps.id_projet` = `58`
)  
 
j'ai eu ce message d'erreur :
 
#1064 - You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT  `id`  
FROM  `crm_temps`  
WHERE  `crm_temps.salarie`  =  
 
 

Reply

Marsh Posté le 08-12-2009 à 15:07:04    

golumest a écrit :

spo ça non plus(merci de t'interesser à mon pb), j'ai essayé ça :

 

DELETE FROM `crm_commentaire` WHERE `id_commentaire` IN (
SELECT `id`
FROM `crm_temps`
WHERE `crm_temps.salarie` = `yann` AND `crm_temps.journee` = `2009 - 12 - 04` AND `crm_temps.id_projet` = `58`
)

 

j'ai eu ce message d'erreur :

 

#1064 - You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT  `id`
FROM  `crm_temps`
WHERE  `crm_temps.salarie`  =

 


 

ce serait plutôt

 
Code :
  1. DELETE FROM `crm_commentaire` WHERE id_commentaire IN (
  2. SELECT id
  3. FROM `crm_temps` WHERE `crm_temps`.salarie = 'yann' AND `crm_temps`.journee = '2009 - 12 - 04' AND `crm_temps`.id_projet = 58
  4. )



Message édité par skeye le 08-12-2009 à 15:07:10

---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 08-12-2009 à 15:45:46    

avec un copié/collé de ta requete :
 
#1064 - You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT id
FROM  `crm_temps`  
WHERE  `crm_temps`.salarie =  'yan
 
MAis en séparant les 2 requêtes, elles fonctionnent bien ttes les 2...
ça serait le IN qui ne serait pas reconnu? j'ai essayé avec 'match' mais toujours une erreur.


Message édité par golumest le 08-12-2009 à 15:48:24
Reply

Marsh Posté le 08-12-2009 à 15:48:55    

Quelle version de mysql ?
 
Est-ce que mysql autorise les sous-requête dans une requête DML ?
Edit : réponse : oui [:joce]


Message édité par kao98 le 08-12-2009 à 15:52:08

---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
Reply

Marsh Posté le 08-12-2009 à 16:07:48    

sur ce serveur c'est la version 3.23.49

Reply

Marsh Posté le 08-12-2009 à 16:13:24    

ha ouais, nan mais là, c'est sûr qu'avec des outils pré-historiques, ça veut pas fonctionner ! :/
 
Tu sais qu'il est sorti y'a 10 ans déjà. Depuis, y'a eu deux version majeure, et un paquet de version mineure.
 
Tu as deux solutions :
- mettre à jour ton serveur
- oublier les sous-requêtes


Message édité par kao98 le 08-12-2009 à 16:18:41

---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
Reply

Marsh Posté le 08-12-2009 à 16:13:24   

Reply

Marsh Posté le 08-12-2009 à 16:20:11    

??? noooon ??? ça n'accepte pas les requetes imbriquées? t'es sûr? ça viendrait d'un pb de version?!  
ça va être à moi de me farcir l'upgrade sur un serveur en utilisation....je deteste ça par avance...alors si je peux me passer d'un upgrade...
 


Message édité par golumest le 08-12-2009 à 16:37:45
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed