Selectionner ceux qui n'ont pas de correspondance

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 : Selectionner ceux qui n'ont pas de correspondance

par cicom » 11 avr. 2007, 17:05

Bien joué!
Ca marche merci beaucoup (38 tricheurs utilisateurs de bugs se sont vus être remis dans les règles...)
Je mets résolu.

par sharep98 » 11 avr. 2007, 16:13

Il faut utiliser une jointure externe :

Code : Tout sélectionner

SELECT t2.id FROM armadas t1 RIGHT JOIN units t2 ON t1.id = t2.affec WHERE t2.type <> 'hero' AND t1.id IS NULL;

Selectionner ceux qui n'ont pas de correspondance

par cicom » 11 avr. 2007, 15:53

Bonjour à tous,
Voila j'ai une table armadas avec plusieurs champ notament id.
J'ai aussi une table units aves les champs suivant id(int), pseudo(varchar), nombre(int), type (varchar), affec(varchar)
En fait je voudrai selectionner les id des enregistrements dans la table units qui ont un affec qui n'a pas de correspondance avec un id de la table armadas (je suis clair là? parce que j'ai pas l'impression...)
Comment faire?
J'avais commencé à bricoler ça mais ça effectue le contraire de ce que je veux effectuer (ça selectionne les id des enregistrements qui ont un affec en correspondance avec un id de la table armadas)
SELECT t2.id FROM armadas t1 JOIN units t2 ON t1.id = t2.affec WHERE t2.type <> 'hero' 
Merci à tous de votre aide!