Jointure MySQL

#1
'Soir !!

J'ai 2 table :
Annuaire
id
id_cat
titre
url
date
...

Annuaire_cat
id_cat
categorie

Dans la table Annuaire se trouve des site reférencé, sont id, qui est unique en auto_increment, id_cat qui correspond a l'id de la catégorie, titre et url, pas besoin de description.

Annuaire_cat a 111 enregistrement, ce sont la liste des catégorie, id_cat etant un chiffre, et categorie etant le nom de la categorie, exemple id_cat:901 correpond a la catégorie informatique.

l'id_cat de la table annuaire me permet de dire a quelle categorie appartien le site enregistré.

J'aimerais afficher les 5 dernier site enregistré dans la table annuaire, et ca pas de probleme je sais faire, avec un order by id desc LIMIT 1.

Donc ce qui s'affiche a l'ecran est avec ma requete actuelle :

22/03/2004 : Ovh.

Le véritable probleme, j'aimerais afficher la catégorie du site de la table annuaire_cat correspondant a l'id_cat de la table annuaire et du site en question, en fesant une jointure, pour qu'a la fin, cela donne :

22/03/2004 : Hébergement>Ovh.
21/02/2004 : Programmation>Phpscripts-fr.

Merci d'avance pour toute suggestion/aide.

Vous voyez le dileme ?
 
M

Membre supprimé 1

Invité
#2
je peux te donner ça demain matin, quand j'aurai Access sous la main (oui, je fais du sql sous access, c'est maaaaaaaaaal mais c'est mon job ;-) ), vu que la syntaxe des jointures, je la connais pas par coeur...
 

szdavid

Grand Maître
#3
tu veux pas faire deux select distincts ?
 
M

Membre supprimé 1

Invité
#4
je vois pas bien l'intérêt... autant tout faire avec notepad sinon ;-)
 
M

Membre supprimé 1

Invité
#6
alors une commande possible serait (dixit Access, donc à prendre avec de grosses pincettes) :

SELECT annuaire.date, annuaire_cat.categorie, annuaire.titre FROM annuaire INNER JOIN annuaire_cat ON annuaire.id_cat = annuaire_cat.id_cat

mais d'après mes docs de bdd, une jointure n'est pas obligatoire, en SQL tu devrais pouvoir utiliser :

SELECT annuaire.date, annuaire_cat.categorie, annuaire.titre FROM annuaire, annuaire_cat WHERE annuaire.id_cat = annuaire_cat.id_cat

et merci de me dire si ça répond à ta question ou pas
;-)
 
#7
Merci sylvai, qq d'autre ma donné la requte en 5 min des jointures, :)

merci à tous de votre aide.
 

gallile

Expert
#8
Le INNER JOIN est spécifique à Access...
Il faut utiliser LEFT JOIN.
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Membres en ligne
Aucun membre en ligne actuellement.
Statistiques globales
Discussions
868 632
Messages
8 098 999
Membres
1 579 173
Dernier membre
reders08
Partager cette page
Haut