Contourner un LIMIT dans un SUBQUERY

Fermé
hoppl - 25 avril 2008 à 17:05
 hoppl - 25 avril 2008 à 17:28
Bonjour, voici mon problème: j'ai 2 tables, une avec une liste de chansons (id, titre, artiste) et une 2e avec une liste de choix de 10 de ces chansons, comme un décompte Top10 (id, date, t1, t2, t3, t4, t5, t6, t7, t8, t9, 10). Les t1 à t10 sont les id des chansons.

J'essai de retourner le titre, artiste des décomptes. Pour ce faire, (je suis pas un expert PHP/MySQL) je voudrais utilisé quelque chose comme suit:

SELECT id,titre,artiste FROM chansons WHERE id IN (SELECT t6 FROM decompte ORDER BY decompte.date DESC LIMIT 0,1)


SELECT id,titre,artiste FROM chansons: me retourne ma liste complète de chansons
SELECT t6 FROM decompte ORDER BY decompte.date DESC LIMIT 0,1: me retourne le id de t6 pour le dernier décompte (date DESC)...

Le problème c'est que LIMIT n'est pas accepté dans un SUBQUERY. J'obtiens l'erreur suivante: #1235 - This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
Et je ne comprend rien au JOIN, qui j'imaginent pourraient régler mon problème...

Quelqu'un aurait une idée de requête qui ferait ce que j'essaie d'accomplir..??
Merci.

1 réponse

Évidemment, une fois mon message posté, je fais une recherche plus poussé et me casse la tête à faire fonctionner un JOIN et je réussi...

Alors pour le bénéfice de ceux qui ont eu/auront le même problème, voici ce que j'ai fait:

SELECT c.chanid, c.titre, c.artiste, d.titre6, d.date FROM chansons AS c, decompte AS d WHERE c.chanid = d.titre6 ORDER BY d.date DESC LIMIT 0,1
1