Page 1 sur 1

Affichage des données d'une base

Posté : 28 nov. 2006, 12:12
par dunbar
Bonjour,

Me revoilà :oops:
Mais pour un tout petit soucisje veux afficher les données d'une TABLE trie par id par exemple.
Pour cela je tape ceci :
SELECT * FROM annonce ORDER BY id_annonce 
Nickel sa fonctionne.

Mais j'ai trois TABLES et j'ai besoins d'information qui se trouve dans une autre TABLE de la même base :wink:
alors je tape ceci :
SELECT * FROM annonce,file,directory ORDER BY id_annonce 
ou
SELECT * FROM annonce,file,directory ORDER BY id_annonce.id_annonce
Et là ok il m'affiche les données que je cherche mais plusieurs fois ?
a la place de deux lignes je me retrouve avec 2x14 lignes ?
Pourquoi ?

:oops: Merci d'avance

PS : Je sais que * n'est pas génial mais c'est uniquement pour ma période de test.

Posté : 28 nov. 2006, 12:21
par zeus
Je pense que ce que tu voudrais, c'est que les données de la seconde table soient celles qui correspondent aux données de la 1ere.

Dans ce cas, là, il faut que tu réalises une jointure. Ca sert à dire au SGBD "Cette ligne de la table 1 est associée à cette ligne de la table 2"

La syntaxe est la suivante :

Code : Tout sélectionner

SELECT t1.champ1, t2.champ1 FROM table1 t1 JOIN table2 t2 ON t1.champ_jointure = t2.champ_jointure
Ensuite, tu peut ajouter des order by comme tu veux ;)

NB : t1.champ_jointure et t2.champ_jointure sont les champs qui permettent de mettre en relation les données des 2 tables ;)

Posté : 28 nov. 2006, 13:19
par dunbar
Je pense que ce que tu voudrais, c'est que les données de la seconde table soient celles qui correspondent aux données de la 1ere.

Dans ce cas, là, il faut que tu réalises une jointure. Ca sert à dire au SGBD "Cette ligne de la table 1 est associée à cette ligne de la table 2"

La syntaxe est la suivante :

Code : Tout sélectionner

SELECT t1.champ1, t2.champ1 FROM table1 t1 JOIN table2 t2 ON t1.champ_jointure = t2.champ_jointure
Ensuite, tu peut ajouter des order by comme tu veux ;)

NB : t1.champ_jointure et t2.champ_jointure sont les champs qui permettent de mettre en relation les données des 2 tables ;)
Oui juste merci :wink: