par
torn33260 » 05 janv. 2012, 22:04
Bonjour, pour mon petit site amateur j'ai besoin de faire une requête sql imbriquand une autre requête. J'ai fais ca
SELECT * FROM `ex_mycontest`,`ex_vote`
WHERE `ex_mycontest`.`ex_myc_validation` = '1'
AND `ex_mycontest`.`ex_myc_proprietaire` <> '" . $_SESSION['id'] . "'
AND `ex_mycontest`.`ex_myc_actif` = '1'
AND `ex_mycontest`.`ex_myc_datetime` > '" . time() . "'
AND `ex_mycontest`.`ex_myc_multiple` > (SELECT COUNT(*) FROM `ex_vote` WHERE `ex_vi_contest`='`ex_mycontest`.`ex_myc_id`' AND ex_vi_votant='" . $_SESSION['id'] . "' AND ex_vi_etat ='1' OR ex_vi_etat ='2')
ORDER BY `ex_mycontest`.`ex_myc_id` DESC
LIMIT 20;
et voila le résultat si je le print
SELECT * FROM `ex_mycontest`,`ex_vote`
WHERE `ex_mycontest`.`ex_myc_validation` = '1'
AND `ex_mycontest`.`ex_myc_proprietaire` <> '1'
AND `ex_mycontest`.`ex_myc_actif` = '1'
AND `ex_mycontest`.`ex_myc_datetime` > '1325789742'
AND `ex_mycontest`.`ex_myc_multiple` > (SELECT COUNT(*) FROM `ex_vote` WHERE `ex_vi_contest`='`ex_mycontest`.`ex_myc_id`' AND ex_vi_votant='1' AND ex_vi_etat ='1' OR ex_vi_etat ='2')
ORDER BY `ex_mycontest`.`ex_myc_id` DESC
LIMIT 20;
visiblement tout marche sauf '`ex_mycontest`.`ex_myc_id`' ligne 7 ... En mettant en dur une valeur (ex : 10) ma requete s'execute correctement et tout marche hors '`ex_mycontest`.`ex_myc_id`' ne se converti pas en '10'.
Comment faire pour donner le chiffre dans la deuxieme requête?
merci de votre aide
Bonjour, pour mon petit site amateur j'ai besoin de faire une requête sql imbriquand une autre requête. J'ai fais ca
[sql]SELECT * FROM `ex_mycontest`,`ex_vote`
WHERE `ex_mycontest`.`ex_myc_validation` = '1'
AND `ex_mycontest`.`ex_myc_proprietaire` <> '" . $_SESSION['id'] . "'
AND `ex_mycontest`.`ex_myc_actif` = '1'
AND `ex_mycontest`.`ex_myc_datetime` > '" . time() . "'
AND `ex_mycontest`.`ex_myc_multiple` > (SELECT COUNT(*) FROM `ex_vote` WHERE `ex_vi_contest`='`ex_mycontest`.`ex_myc_id`' AND ex_vi_votant='" . $_SESSION['id'] . "' AND ex_vi_etat ='1' OR ex_vi_etat ='2')
ORDER BY `ex_mycontest`.`ex_myc_id` DESC
LIMIT 20;[/sql]
et voila le résultat si je le print
[sql]SELECT * FROM `ex_mycontest`,`ex_vote`
WHERE `ex_mycontest`.`ex_myc_validation` = '1'
AND `ex_mycontest`.`ex_myc_proprietaire` <> '1'
AND `ex_mycontest`.`ex_myc_actif` = '1'
AND `ex_mycontest`.`ex_myc_datetime` > '1325789742'
AND `ex_mycontest`.`ex_myc_multiple` > (SELECT COUNT(*) FROM `ex_vote` WHERE `ex_vi_contest`='`ex_mycontest`.`ex_myc_id`' AND ex_vi_votant='1' AND ex_vi_etat ='1' OR ex_vi_etat ='2')
ORDER BY `ex_mycontest`.`ex_myc_id` DESC
LIMIT 20;[/sql]
visiblement tout marche sauf '`ex_mycontest`.`ex_myc_id`' ligne 7 ... En mettant en dur une valeur (ex : 10) ma requete s'execute correctement et tout marche hors '`ex_mycontest`.`ex_myc_id`' ne se converti pas en '10'.
Comment faire pour donner le chiffre dans la deuxieme requête?
merci de votre aide