probleme jointure de non equivalence

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : probleme jointure de non equivalence

par Illuvatar » 06 sept. 2007, 12:44

ok merci beaucoup c cool! a +

par pascaltje » 06 sept. 2007, 08:52

en gros on a :
_ les lignes de table2, reliées à table1 grâce à la jointure sur les id
_ on a toutes les lignes de table1 :
_ celles avec une correspondance dans table2
_ celles sans correspondance dans table2

les lignes sans correspondance dans table2 ont table2.objid à NULL .

Voila!

A+

Pascal

par Illuvatar » 05 sept. 2007, 21:33

yes ca marche!

Merci beaucoup pascaltje!! :D

je marque le topic en résolu (si je pex en invité)
Mais pourrais tu m'expliquer pourquoi, je ne comprends pas trop la requète (ce qui est dommage parce que c'est cool de comprendre)

par pascaltje » 05 sept. 2007, 16:44

un truc genre :

Code : Tout sélectionner

SELECT table1.id FROM table1 LEFT JOIN table2 ON table1.id = table2.objid WHERE table2.objid IS NULL
A+

Pascal

probleme jointure de non equivalence

par Illuvatar » 05 sept. 2007, 15:38

Bonjour,

j'ai un problème dans la composition d'une requète SQL:

Je souhaiterais sélectionner toutes les valeurs d'une table1, dont les entrées de la colonne 'id' sont différentes des entrées de la colonne 'objid' d'une table2. (avec une ou deux clause WHERE en bonus...).

Le principe ne semble pas compliqué pourtant, j'ai beau essayer des jointures de non équivalence, des sous-requètes... je n'arrive pas a avoir ces entrées. je ne comprends pas....

Auriez vous une piste a suivre svp?

Exemple
SELECT DISTINCT o.id
FROM obj_spe o,
	 spe_result r
WHERE o.matiere=$id AND r.objid != o.id AND o.type != 'T'
cette requète me renvoie toutes les entrées de la table1 (o), donc ce n'est clairement pas la bonne méthode mais je bloque....