Requête SQL

riadh
Invité n'ayant pas de compte PHPfrance

13 nov. 2006, 11:45

salut;
J'utilise easyPhp 1.7.
J'ai deux table A et B. Je veux utiliser une requête SQL pour afficher les occurrence qui existe dans le table A mais qui n'existe pas dans la table B.
Je crois que la requéte imbriqué, et la clause Minus ne sont pas supporté pa cette version. est ce que je peux procéder avec la jointure externe? et comment?
Merci d'avance.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

13 nov. 2006, 12:22

Le principe qu'il te faut utiliser est la jointure droite ou gauche (RIGHT JOIN ou LEFT JOIN)

le principe est le même que pour une jointure normal sauf que la requete va retourner toutes les lignes de la table de droite ou de gauche

exemple :

Code : Tout sélectionner

SELECT a.1, a.2, b.1 FROM a JOIN b ON a.1 = b.1
Va te retourner toutes les lignes de a dont le champ 1 correspond au champ 1 de la table b

Alors que

Code : Tout sélectionner

SELECT a.1, a.2, b.1 FROM a LEFT JOIN b ON a.1 = b.1
Va te retourner tous les champs de la table a et, si une ligne de la table b correspond au critère de jointure, va l'associer à cette ligne de la table b
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

riadh
Invité n'ayant pas de compte PHPfrance

13 nov. 2006, 12:37

J'ai déja essayé se type de jointure, et il m'affiche toutes les lignes de la table A, avec des valeurs Null pour les champs de la table B qui n'ont pas d'occurrence

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

13 nov. 2006, 12:58

OK, j'avais mal compris ta question. Autant pour moi

Dans ce cas là, renseigne toi sur {LEFT|RIGHT} OUTER JOIN
Plus d'info ici
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer