Bonjour,
Je me prends la tête sur un problème assez simple je pense, je m'explique.
J'ai une table t_press pour stocker des communiqués de presse en PDF (id, titre, date d'upload) qui peuvent être en plusieurs langues. J'ai donc une 2e table t_press_file avec l'id du communiqué de presse de la table t_press, la langue du fichier et le nom du fichier. Ceci me permet de rajouter autant de langues que je veux pour un seul communiqué.
Ensuite je voudrais afficher ceci :
- date du communiqué 1 : titre du communiqué 1
langage 1 (qui sert de lien vers le PDF) | langage 2...
- date du communiqué 2 : titre du communiqué 2
langage 1 (qui sert de lien vers le PDF) | langage 2...
Pour faire ça je n'ai pas trouvé d'autres soluces que de faires 2 requetes avec 2 boucles :
Une pour selectionner les communiqués dans t_press puis une autre requete avec une boucle pour trouver les langues dispos de ce communiqué.
ça marche très bien mais j'aurais bien aimé réussir à ne le faire qu'en une seule requête mais je n'arrive pas au résultat que je veux. Si je passe par une jointure, j'obtiens :
- communiqué 1 - langue 1
- communiqué 1 - langue 2
- communiqué 2 - langue 1...
Si j'essaye d'éviter l'écriture en plusieurs fois du titre du communiqué avec un DISTINCT ou un GROUP BY je n'arrive plus à récupérer les différentes langues dispos pour un communiqué...
J'espère avoir été clair, quelqu'un pourrait-il m'éclairer ? Merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT * FROM t_press RIGHT JOIN t_press_file ON (t_press.id=t_press_file.id_doc) WHERE online=1 GROUP BY t_press.id ORDER BY date DESC;
Partager