Bonjour à tous

Je fais appel aux bonnes âmes pour m'aider dans l'écriture d'une requête.
Je fais face à 2 problématiques :

1/ Je souhaite vérifier si les données d'une listes sont présentes dans les valeurs d'une table et retourner dans tous les cas une valeur par exemple 1 si vrai et 0 si faux (ou renvoyer la valeur recherchée si elle est présente et une ligne vide si valeur inconnue). Hors, malgré mes tentatives, je n'arrive qu'à renvoyer les valeurs vrais.
Dans mon exemple, je cherche par exemple, si les 3 CODEINSEE sont dans ma table : 2 oui, 1 non => j'attends en retour 3 lignes 1,1,0 (ou les 2 codes insee OK et une ligne vide pour le code insee KO) ; avec code insee entre cotes = texte.

J'ai essayé cela mais sans succès : cela renvoie uniquement les valeurs trouvées (2 sur 3)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
Select case when CODEINSEE is not null
Then 1 Else 0 
End as CODE_INSEE
From MATABLE
Where CODEINSEE in (
'XXXXXXXXXXXXX',
'XXXXXXXXXXXXX',
'XXXXXXXXXXXXX')
Avec ce code, j'ai un message erreur sur EXISTS => mal placé
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
Select
Case When Exists (Select CODEINSEE From MATABLE
Where CODEINSEE in (
'XXXXXXXXXXXXX',
'XXXXXXXXXXXXX',
'XXXXXXXXXXXXX'))
Then 1
Else 0
End
2/ Avec cette requête SQL, je souhaite l' embarquer dans du VBA pour l'automatiser. Autant je sais comment en VBA gérer/récupérer 1 donnée depuis un fichier excel dans une variable insérée dans le code SQL, autant je ne sais pas comment gérer X données (les codes insee) dont le nombre peut varier...


Je vous remercie bien par avance de votre aide !
A toute fin utile, je travaille avec winsql sur une bdd IBM DB2.