[SQL] problème sur une requête

apple31 Messages postés 25 Statut Membre -  
apple31 Messages postés 25 Statut Membre -
Bonjour,

voila j'ai un petit probleme avec une requête.

voila un exemple :

J'ai deux tables A et B

la table A est composée de :
id ( son identifiant)
nom (champ texte)
b_id (identifiant de la table B en clé étrangère)

la table B est composée de :
id ( son identifiant)
text (champ texte)

voila la requete que je fais :

select A.id, A.NOM, B.TEXT
from A, B
where A.B_id = B.id

le probleme c'est que ça me ramène que les lignes de A qui ont le champ B_ID rempli avec un ID de B.

Moi ce que je souhaiterai c'est que j'ai toutes les lignes de A meme celles ou le champ B_id est null.

Je sais pas si je me fais bien comprendre.

Je ne sais pas comment faire. Il me semblait qu'il y avait un truc du style (+) qu'on pouvait utiliser d'un coté ou l'autre de l'égalité pour justement arriver à ce résultat mais je n'y arrive pas.

Petite précision, j'utilise MySQL.

Mon exemple est simpliste mais ma vrai requete utilise 4 ou 5 tables.

merci par avance pour vos réponses

Apple

PS : je n'ai pas trouver de titre court plus parlant ...

4 réponses

kij_82 Messages postés 4260 Statut Contributeur 857
 
Je comprends pas trop ton probleme... si tu souhaite avoir toute les lignes de A, tu fais un :
select * from A

Et puis n'en parlons plus.

Tu peux reformuler ta question un peu mieux ?
A moins que tu ne veuille prendre que les lignes de A qui ont un identifiant de b null ou égal à une valeure dans B, et dans ce cas je crois pas que ce soit faisable du fait que tu fais une selection sur l'identifiant en question, donc si tu permet qu'il soit null, apres c'est la fete du slip dans ta base de donnée, non ?
0
deus Messages postés 93 Statut Membre 91
 
Salut,

Je ne sais pas si ca existe en mySQl mais regarde du côté du Left Outer Join

ex:
SELECT a.*, b.*
FROM a
LEFT OUTER JOIN b
ON a.id = b.id


même si la table B est vide pour un "id" il te retournera ce qui se trouve dans la table A pour ce même "id".

0
kij_82 Messages postés 4260 Statut Contributeur 857
 
C'était donc ca...

Merci Deus :)
0
apple31 Messages postés 25 Statut Membre 2
 
merci pour ta réponse je vais tester ...

++
Apple
0