[RESOLU] La critère LIMIT est-il compatible avec LEFT JOIN ?

Eléphant du PHP | 113 Messages

01 avr. 2014, 19:33

Bonjour,

Tout est dans le titre. :)

Merci.
Parce qu'on vit dans un monde de CONs, il faut bien ça: http://www.espacedecon.fr/

ViPHP
xTG
ViPHP | 7331 Messages

01 avr. 2014, 20:51

Je ne vois pas pourquoi il ne le serait pas.
Le left join est appliqué puis le limit sur le résultat du left join.

Eléphant du PHP | 113 Messages

01 avr. 2014, 21:43

Dans ma requête, je limite le nombre de question à 1 mais ça me limite le nombre de réponse à 1 également. :?
Parce qu'on vit dans un monde de CONs, il faut bien ça: http://www.espacedecon.fr/

ViPHP
xTG
ViPHP | 7331 Messages

02 avr. 2014, 19:50

C'est.... Normal !

Tu fais une jointure entre deux tables.
Tu récupères donc X questions combinées à Y réponses => X*Y enregistrements.
Puis tu fais un LIMIT 1 => ne récupérer qu'un seul enregistrement.

Il faut faire une sous-requête, ou bien deux requêtes pour ce que tu veux faire.
Car le LIMIT ne doit être fait que sur la table question.
SELECT reponse.id FROM reponse WHERE reponse.question_id = (SELECT question.id FROM question LIMIT 1)
SELECT question.id FROM question LIMIT 1
SELECT reponse.id FROM reponse WHERE reponse.question_id = $question['id']
N.B : ce n'est pas du code qui s'exécute dans le second cas, je n'ai écris que le principe.

Eléphant du PHP | 113 Messages

04 avr. 2014, 13:23

Ok ça marche, avec 2 requêtes. Merci beaucoup xTG.
Parce qu'on vit dans un monde de CONs, il faut bien ça: http://www.espacedecon.fr/