J'ai un problème avec la sous-requete que voici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
--UPDATE participation_cadre SET PAR_DATEPAIE = CURDATE() 
SELECT * FROM participation_cadre
WHERE (MAN_ID, CAD_ID) IN 
( 
  SELECT manifestation.MAN_ID, cadre.CAD_ID 
  FROM cadre 
  INNER JOIN participation_cadre ON cadre.CAD_ID = participation_cadre.CAD_ID 
  INNER JOIN manifestation ON participation_cadre.MAN_ID = manifestation.MAN_ID 
  WHERE PAR_DATERES IS NOT NULL 
  AND PAR_DATERES > CURDATE() 
  AND MAN_DATE < CURDATE() 
  AND PAR_MODEPAIE IS NOT NULL 
  AND PAR_DATEPAIE IS NULL 
  AND PAR_ATTENTE = 0 
  AND cadre.CAD_ID IN (1)
  LIMIT 0,1
)
Bien sûr, vous allez trouver stupide de faire une sous-requete à mon premier select. En fait, vous pouvez voir en commentaire que j'ai besoin de ma sous-requete pour faire un UPDATE. Le SELECT est juste là pour tester.

Selon cette doc MySQL http://dev.mysql.com/doc/mysql/fr/row-subqueries.html, je peux faire une sous-requete sur 2 champs. Or, MySQL me répond que j'ai une erreur de syntaxe près de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
CAD_ID) IN 
( 
  SELECT manifestation.MAN_ID, cadre.CAD_ID
J'ai essayé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
WHERE ROW(MAN_ID, CAD_ID) IN (
ou encore
Code : Sélectionner tout - Visualiser dans une fenêtre à part
WHERE ROW(MAN_ID, CAD_ID) MATCH (
mais rien n'y fait...

(MySQL 4.0.15)