Comment exclure des données en SQL ?

Résolu
nougitch Messages postés 431 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 17 novembre 2008 - 30 sept. 2005 à 15:55
nougitch Messages postés 431 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 17 novembre 2008 - 3 oct. 2005 à 16:53
Bonjour,



J'essaie depuis un petit moment une requete SQL qui ne doit pas inclure les résultats d'une autre requête.



Ceci est plus parlant :



SELECT langues
FROM `app_mod`

EXCEPT
SELECT DISTINCT langues
FROM `app_mod`
WHERE notes <> 0



Il semblerait que la commande EXCEPT ne fonctionne pas.

Seules, les requêtes fonctionnent très bien.



Je vous remercie par avance pour votre aide.

6 réponses

nougitch Messages postés 431 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 17 novembre 2008
3 oct. 2005 à 13:29
Alors voilà, comme à achaque fois que je galère, je recréé un exemple simple, que voici :





--

-- Structure de la table `table1`

--



CREATE TABLE `table1` (

`nom` varchar(30) NOT NULL default '',

`note` int(2) NOT NULL default '0'

) TYPE=MyISAM;



--

-- Contenu de la table `table1`

--



INSERT INTO `table1` VALUES ('jacques', 10);

INSERT INTO `table1` VALUES ('dominique', 11);

INSERT INTO `table1` VALUES ('nicolas', 12);



-- --------------------------------------------------------



--

-- Structure de la table `table2`

--



CREATE TABLE `table2` (

`nom` varchar(30) NOT NULL default '',

`note` int(2) NOT NULL default '0'

) TYPE=MyISAM;



--

-- Contenu de la table `table2`

--



INSERT INTO `table2` VALUES ('michèle', 12);

INSERT INTO `table2` VALUES ('xavier', 13);

INSERT INTO `table2` VALUES ('pascal', 14);





J'aimerai sélectionner tous les noms, sauf ceux dont la note = 12
3
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
30 sept. 2005 à 16:29
Salut,



tu veux faire quoi exactement (en français, pas en sql) ?

0
nougitch Messages postés 431 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 17 novembre 2008
30 sept. 2005 à 17:19
Salut Antho,



En fait, j'ai une requête spécifique. Appelons la RS

Puis une requête générale : RG



Je voudrais tous les résultats de la requête générale MOINS les résultats de la requête spécifique.



Thanks
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
30 sept. 2005 à 17:54
heu ouais ok j'ai bien compris ça, mais concrètement ça donne quoi ?
dis-moi par exemple "j'ai une table, je veux tous les résultats ayant
tel champ à 1 mais pas ceux ayant cette autre champ à 2"



par exemple

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
1 oct. 2005 à 13:47
salut,



Je pense qu'il s'agit de la clause Outer join.



@+

PS: Si votre problème est résolu, prière de bien vouloir clôturer votre message par une réponse acceptée !
0
nougitch Messages postés 431 Date d'inscription mercredi 22 octobre 2003 Statut Membre Dernière intervention 17 novembre 2008
3 oct. 2005 à 16:53
Ca y est !

Je vous remercie pour votre aide.

Après un peu de lecture j'ai pu lire qu'il fallait une version supéréglé dirieure à la 5 béta... apparemment.

Le problème a été réglé directement avec php.



Merci encore
0
Rejoignez-nous