Bonjour à tous.

tout d'abord une explication succinte:
- Ma base contient des livres qui sont mis à disposition d'un utilisateur
- Ces livres ont des informations ventilées dans différentes tables
- L'utilisateur peut choisir des livres en cochant une cas dans un outil web
- Lorsque s'affichage la page il doit y avoir l'ensemble des livres sélectionnables et ceux déjà cochés (sans doublon bien entendu)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/* Powered by General SQL Parser (www.sqlparser.com) */
 
SELECT DISTINCT 
       ED.LIBELLE_EDITEUR, 
       MU.TITRE, 
       co.libelle_collection,
       ISNULL(au.identite,' ') as titre, 
       MU.ANNEE_PUBLICATION_1, 
       CONVERT(VARCHAR(4),MU.ID_MANUEL_EN_USAGE) AS IDMU, 
       CONVERT(VARCHAR(4),MU.ID_MANUEL_EN_USAGE) as IDMU2, 
       DQMU.ANNEE_ADOPTION, 
       mu.tri_titre  
FROM 
       ENSEIGNEMENT_MANUEL EM, 
       EDITEUR ED, 
       collection co, 
       auteur au, 
       MANUEL_EN_USAGE MU inner join DETAIL_QMU DQMU 
                          ON DQMU.ID_MANUEL_EN_USAGE = MU.ID_MANUEL_EN_USAGE
       INNER JOIN DEFINIR_NIVEAU NIV 
                  on DQMU.ID_MANUEL_EN_USAGE = niv.ID_MANUEL_EN_USAGE        Inner join REF_CLASSE ref 
                   On (REF.ID_CLASSE=niv.ID_CLASSE And
                       DQMU.ID_QUESTIONNAIRE = 20721 AND 
                      (DQMU.ID_DIS = 10 OR DQMU.ID_DIS = NULL ) AND 
                       REF.ID_CLASSE=niv.ID_CLASSE AND 
                       REF.ID_NIVEAU = 206
7Cette requête me retourne bien les données des livres sélectionnés.

LIBELLE_EDITEUR-----TITRE-----Libelle_collection-----titre-----annee_pub-----idmu-----idmu2-----annee_adopt-----tri_titre
ARMAND COLIN-----Allemand 4è LV1-----Sag Mal-----Hilda Kahn-----1992-----1626-----1626-----2005-----ALLEMAND 4E LV1

- ATTENTION: Le IDMU2 doit être à NULL si le bouquin n'est PAS sélectionné (donc absent de la table DQMU)
De fait je ne sais pas comment construire une requête selon mes données de sorte à obtenir un résultat qui dise ceci (exemple de deux livres dont un sélectionné):

LIBELLE_EDITEUR-----TITRE-----Libelle_collection-----titre-----annee_pub-----idmu-----idmu2-----annee_adopt-----tri_titre
ARMAND COLIN-----Allemand 4è LV1-----Sag Mal-----Hilda Kahn-----1992-----1626-----1626-----2005-----ALLEMAND 4E LV1
ARMAND COLIN-----Allemand 4è LV2 -----Sag Mal-----Kahn Hilda-----1992-----1550-----NULL-----NULL-----ALLEMAND 4E LV2

(désolé si c'est un peu dur à lire...)
Bref, je cherche une manière soit:
- De construire une requête unique capable de me retourner le résultat attendu,
- soit une requête me retournant QUE les livres non sélectionnés.

Pas simple pour moi... j'ai tenté via des outer join mais ceux ci me retournent alors l'intégralité des livres et non juste ceux non sélectionnés (donc absents de la table DQMU dans mon cas précis)