Recherche d'éléments absents

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 : Recherche d'éléments absents

Re: Recherche d'éléments absents

par albius » 12 janv. 2012, 14:51

Merci!

Re: Recherche d'éléments absents

par Shenryu » 12 janv. 2012, 13:06

Salut,

Déjà il faut que ta table section contienne un id pour plus de propreté.
Ensuite, dans ta table cpte, tu lies ta section par le biais de l'id section et non du libellé. Ça évitera la redondance de données.

Enfin pour afficher toutes les sections qui ne sont pas présentes dans cpte, tu as plusieurs solutions :
SELECT * FROM section
WHERE id NOT IN (SELECT id_section FROM cpte);
Avec tes tables actuelles, tu peux toujours faire ça mais ça reste pas très propre :
SELECT * FROM section
WHERE section NOT IN (SELECT section FROM cpte);
++

Recherche d'éléments absents

par albius » 12 janv. 2012, 12:53

Bonjour/ bonsoir,

J'ai deux tables. Une table 'cpte'. La colonne 'section' contient le nom d'une section
CREATE TABLE IF NOT EXISTS `cpte` (
  `idRec` int(4) NOT NULL AUTO_INCREMENT,
  `nom` text COLLATE utf8_unicode_ci NOT NULL,
  `prenom` text COLLATE utf8_unicode_ci NOT NULL,
  `id` text COLLATE utf8_unicode_ci NOT NULL,
  `pass` text COLLATE utf8_unicode_ci NOT NULL,
  `section` text COLLATE utf8_unicode_ci NOT NULL,
  PRIMARY KEY (`idRec`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=2551 ;
Ainsi qu'une table 'section:
CREATE TABLE IF NOT EXISTS `section` (
  `section` text COLLATE utf8_unicode_ci NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;'
Contient tous les noms de sections...

Je voudrais maintenant afficher toutes les sections qui ne sont pas présentes dans la table 'cpte', donc qui sont vides.
Comment faire ? Je sais écrire une jointure entre deux tables, mais je vais obtenir toutes les sections qui sont identiques ou différentes...
Merci,