Jointure requete SQL

Bonjour à tous,

Meilleurs voeux de bonheur et surtout la santé avec pleins de post pour le FoFo cette année 2022.

Je souhaite exécuter une requête SQL qui me donne une liste afin de l'injecter dans une liste de validation par la suite. Je dispose d'une liste de service ( environ 10 ), je peux créer des services au fur à mesure de la vie de l'établissement, donc je peux rajouter des services mais je ne veux pas voir apparaitre les services déjà présent.

image

J'ai créer cette requête mais je n'ai aucun résultat, je pense que dès le départ je m'y prend mal mais je n'arrives à trouver le meilleur point d'attaque pour débuter cette requête

SELECT [1_Service].ID_Serv, [1_Service].Service
FROM 1_Service LEFT JOIN 3_Service ON [1_Service].ID_Serv = [3_Service].Service
WHERE ( [3_Service].Service  is null and [3_Service].ID_Etab=1)

Merci à vous

J'ai voulu essayer la méthode 'EXCEPT' mais a priori, elle n'est pas reconnu sur ACCESS.

Mais dans le principe chaque requête me retourne le bon résultat en individuel:

- la 1er ==> Me retourne 2 résultat

-La 2nd ==> La totalité des service

Il me reste plus qu'à faire la soustraction des 2

SELECT [1_Service].ID_Serv, [1_Service].Service FROM 1_Service right JOIN 3_Service ON [1_Service].ID_Serv = [3_Service].Service WHERE (  [3_Service].ID_Etab=1 ) 
EXCEPT
SELECT [1_Service].ID_Serv, [1_Service].Service FROM 1_Service

Bon je pense que je l'ai, j'attends plusieurs essais pour confirmer mais les 1er résultats me paraissent pas mal.

SELECT  [1_Service].Service, [3_Service].ID_Etab 
FROM 1_Service left JOIN [3_Service] 
ON [3_Service].Service = [1_Service].Service 
where ( [3_Service].ID_Etab is null or [3_Service].ID_Etab<>32)

bonjour,

pas sûr d'avoir compris exactement ce que tu voulais faire, mais pour moi la table de départ est service 3 que tu complètes avec des données de service 1, donc voici comment j'aurais fait :

SELECT  [1_Service].Service, [3_Service].ID_Etab 
FROM 3_Service INNER JOIN [1_Service] 
ON [3_Service].Service = [1_Service].Service 
where ( [3_Service].ID_Etab is null or [3_Service].ID_Etab<>32)

remplace INNER par LEFT si tu veux lister tous les établissements, y compris ceux dont l'ID de service ne se retrouve pas dans Service 1

Bonjour h2so4,

entre temps j’ai modifié mon champ service de la table ‘3_service’ qui disposait de 2 colonnes en 1 , j’ai enlevé l’ID qui ne le servait à rien en fait.

merci de ton retour

Rechercher des sujets similaires à "jointure requete sql"