Bonjour,
je travaille avec une distribution Debian Ubuntu et j'ai un problème avec une requete mysql
j'ai deux tables APPEL et DETAIL avec un champ NUMAPPEL dans chaque table.
je veux récupérer tout les numappels presents dans APPEL et non dans DETAIL. J'ai fais cette requete :
select distinct numappel from appel where numappel not in (select numappel from detail);
j'ai une erreur de syntaxe, je ne comprends pas.
Merci
Sylvain
# ta version de my sql
Posté par lecdm76 . Évalué à 1.
c'est la version de Mysql qui n'accepte des select imbriqué
Moi j'ai deux mysql istallé sur des machines diff et avec des versions diff
le select imbriqué il marche sur l'un mais ne marche pas sur l'autre
avec la meme application et la meme base de données
coclusion install une version plus recente de MySQL
bye
[^] # Re: ta version de my sql
Posté par alf . Évalué à 0.
Par contre, ce n'est pas une erreur de syntaxe, mais je suggère très fortement de mettre des alias quand des tables ou des colonnes apparaissent plusieurs fois dans une même requête:
SELECT DISTINCT A.NUMAPPEL
FROM APPEL A
WHERE A.NUMAPPEL NOT IN (SELECT D.NUMAPPEL FROM DETAIL D);
# LEFT JOIN...
Posté par dood . Évalué à 2.
SELECT DISTINCT numappel
FROM APPEL
LEFT JOIN DETAIL ON APPEL.numappel =DETAIL.numappel
WHERE DETAIL.numappel IS NULL;
Guilhelm
# Jointure externe
Posté par cumulus . Évalué à 2.
select
distinct a.numappel
from
appel a left outer join detail d on a.numappel=b.numappel
where
d.numappel is null
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.