Bonjour,
J'ai une requête qui me renvoie une liste différente de ce que je souhaite.
Pour celà j'ai une liste de méthode:
et une table comportant les méthodes sélectionnées par le contact:
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 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Lib_methodes]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[Lib_methodes] GO CREATE TABLE [dbo].[Lib_methodes] ( [Id_methode] [int] NOT NULL , [Lib_methode] [nvarchar] (50) COLLATE French_CI_AI NULL , [Id_rub] [nvarchar] (5) COLLATE French_CI_AI NULL ) ON [PRIMARY] GO "1 ",1 "1 ",3 "1 ",14 "2 ",3 "2 ",14 "3 ",1
Je voudrai avoir une liste de toutes les méthodes non déjà sélectionnée par un contact
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 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Cont_methodes]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[Cont_methodes] GO CREATE TABLE [dbo].[Cont_methodes] ( [Id_cont] [nchar] (20) COLLATE French_CI_AI NOT NULL , [Id_methode] [int] NOT NULL ) ON [PRIMARY] GO 1,"Acupuncture","a" 3,"Eutonie","" 4,"Homeopathie","" 5,"Training Autogene de Schultz","" 6,"Phytotherapie","" 7,"Naturopathie","" 8,"Art Therapie","" 9,"Qi Gong","" 10,"Rebirth","" 11,"Reflexologie","" 12,"Sophrologie","" 13,"Yoga","" 14,"Aromathérapie",""
Hors j'ai essayé différentes requêtes dans la PS:
je n'arrive pas à enlever dans le résultat la liste des méthodes sélectionnées par d'autres contacts.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 CREATE PROCEDURE MethodesNonSelectCont_Lst AS SET NOCOUNT ON; SELECT dbo.Lib_methodes.Id_methode, dbo.Lib_methodes.Lib_methode, dbo.Cont_methodes.Id_cont FROM dbo.Cont_methodes RIGHT OUTER JOIN dbo.Lib_methodes ON dbo.Cont_methodes.Id_methode = dbo.Lib_methodes.Id_methode WHERE (NOT EXISTS (SELECT * FROM cont_methodes WHERE dbo.Cont_methodes.Id_cont = N'1')) ; GO
Y a t-il une requête qui permet d'obtenir le résultat souhaité ?
Merci d'avance
a+
herve
[EDIT] comme suggéré par Sir Tengu [/EDIT]
Partager