requete entre plusieurs tables (MySQL) - SQL/NoSQL - Programmation
Marsh Posté le 09-06-2004 à 21:41:42
ReplyMarsh Posté le 09-06-2004 à 22:53:42
le plus simple est probablement de faire une table temporaire contenant les plus grands art_id pour chaque rubrique.
INSERT INTO last_articles
SELECT rub_name, max(art_id) as rub_last
FROM articles, rubriques
WHERE rub_id = art_rub_id
GROUP BY rub_name;
Ensuite tu fais la jointure entre cette table temporaire et la table des articles pour récupérer les titres associés
Marsh Posté le 10-06-2004 à 01:10:15
ca fait pl requetes ca
Marsh Posté le 11-06-2004 à 19:19:07
Autant pour moi, j'ai dit des conneries:
Code :
|
ne marche effectivement PAS.
Je réitère avant l'édition donc :
Il faut utiliser un LEFT JOIN ou un sub-select.
Marsh Posté le 11-06-2004 à 21:02:31
Oui, donc, c'est réalisable avec une sub-query (je n'ai pas une version de MySQL récente d'installée).
La condition de la sous-requête étant :
SELECT ...
FROM ...
WHERE art_id in (SELECT MAX(arttmp.art_id) FROM articles arttmp GROUP BY art_rub_id)
Dans le meilleur des mondes, MySQL supporterait depuis des années les vues, et tu en aurais créé une pour obtenir le dernier article pour chaque rubrique (en remplacement de la sous-requête).
Marsh Posté le 09-06-2004 à 21:00:49
Salut, j'ai deux tables :
rubriques
rub_id
rub_name
et
articles
art_id
art_rub_id
art_titre
il y a pleins d'articles, un article est rattaché à une seule rubrique via art_rub_id
je veux en une requete recuperer le nom d'une rubrique ainsi que le titre du dernier article ( = le titre de l'article dont art_id = max(art_id) )
j'ai fait ca :
SELECT rub_name, max(art_id) as rub_last
FROM articles, rubriques
WHERE rub_id = art_rub_id
GROUP BY 1
ORDER BY rub_order
ca me sort le titre d'une rubrique et l'id du dernier article. donc c pas exactement ske je veut
j'ai essayé ca mais ca marche pas (ca sort pas le dernier titre)
SELECT rub_name, art_titre AS rub_last
FROM articles, rubriques
WHERE rub_id = art_rub_id
GROUP BY rub_name, rub_id, art_rub_id
ORDER BY rub_order
help
ce que je cherche c'est un truc comme ca :
rubrique 1 -> titre du dernier article de la rubrique 1
rubrique 2 -> titre du dernier article de la rubrique 2
rubrique 3 -> titre du dernier article de la rubrique 3
...
Message édité par C@ssius le 09-06-2004 à 22:12:20
---------------
Le Tournoi : Résultats, Classements, Discussions . feed Rss IMDB