Bonjour!!
J'ai une table MCOMPTA dont le script est le suivant:
Et voici les contraintes :
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64 --Table MCOMPTA CREATE TABLE [dbo].[MCOMPTA]( [NUMENREG] [numeric](30, 0) NOT NULL, [JL] [nvarchar](10) NULL, [SITE] [nvarchar](2) NOT NULL, [NORD] [nvarchar](14) NULL, [DATCLE] [datetime] NOT NULL, [DATPIECE] [datetime] NULL, [NOPIECE] [nvarchar](10) NULL, [LIBELLE] [nvarchar](50) NULL, [COGE] [nvarchar](10) NOT NULL, [AUXI] [nvarchar](12) NULL, [COGEAUXI] [nvarchar](25) NULL, [CP] [nvarchar](10) NULL, [CPAUXI] [nvarchar](12) NULL, [POSTE] [nvarchar](10) NULL, [CONVENTION] [nvarchar](2) NULL, [CATEGORIE] [nvarchar](3) NULL, [SOUSCATEGORIE] [nvarchar](3) NULL, [ACTI] [nvarchar](10) NULL, [GEO] [nvarchar](10) NULL, [PLAN6] [nvarchar](15) NULL, [S] [nvarchar](1) NULL, [MONTANT] [numeric](30, 6) NULL, [MONTDEV] [numeric](30, 6) NULL, [MTREPORT] [numeric](30, 6) NULL, [NLET] [numeric](10, 0) NULL, [FACT] [nvarchar](1) NULL, [DRAPEAU] [nvarchar](1) NULL, [DEVISE] [nvarchar](3) NULL, [COMPTA] [nvarchar](2) NULL, [MARCHE] [nvarchar](25) NULL, [NBORD] [numeric](30, 6) NULL, [RELEVE] [numeric](10, 0) NULL, [ANCIENDRF] [numeric](10, 0) NULL, [NOUVDRF] [numeric](10, 0) NULL, [MONTEMIS] [numeric](30, 6) NULL, [ECHEANCE] [datetime] NULL, [NPRELET] [numeric](10, 0) NULL, [LIBELLEM] [nvarchar](50) NULL, [BLNLOCAL] [bit] NOT NULL, [QTE] [numeric](30, 6) NULL, [CODEDP] [nvarchar](5) NULL, [REGIE] [bit] NOT NULL, [MODEREG] [nvarchar](1) NULL, [SOURCE] [nvarchar](2) NULL, [PU] [numeric](30, 6) NULL, [UNITE] [nvarchar](10) NULL, [DATECRE] [datetime] NULL, [DATEMAJ] [datetime] NULL, [USERCRE] [nvarchar](10) NULL, [USERMAJ] [nvarchar](10) NULL, [BL] [nvarchar](50) NULL, [NATSOURCE] [nvarchar](1) NULL, [COURSREP] [numeric](18, 6) NULL, [COURSDEV] [numeric](18, 6) NULL, CONSTRAINT [PK_MCOMPTA_NUMENRENG] PRIMARY KEY CLUSTERED ( [NUMENREG] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO
et j'ai trois requêtes que je voulais fusionner si possible en utilisant case when
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
27
28
29
30
31
32 /****** Object: ForeignKey [FK_MCOMPTA_RACTI1] Script Date: 06/27/2012 23:43:34 ******/ ALTER TABLE [dbo].[MCOMPTA] WITH CHECK ADD CONSTRAINT [FK_MCOMPTA_RACTI1] FOREIGN KEY([ACTI]) REFERENCES [dbo].[RACTI1] (code) GO ALTER TABLE [dbo].[MCOMPTA] CHECK CONSTRAINT [FK_MCOMPTA_RACTI1] GO /****** Object: ForeignKey [FK_MCOMPTA_RCOGE1] Script Date: 06/27/2012 23:43:34 ******/ ALTER TABLE [dbo].[MCOMPTA] WITH CHECK ADD CONSTRAINT [FK_MCOMPTA_RCOGE1] FOREIGN KEY([COGE]) REFERENCES [dbo].[RCOGE1] (CODE) GO ALTER TABLE [dbo].[MCOMPTA] CHECK CONSTRAINT [FK_MCOMPTA_RCOGE1] GO /****** Object: ForeignKey [FK_MCOMPTA_RGEO1] Script Date: 06/27/2012 23:43:34 ******/ ALTER TABLE [dbo].[MCOMPTA] WITH CHECK ADD CONSTRAINT [FK_MCOMPTA_RGEO1] FOREIGN KEY([GEO]) REFERENCES [dbo].[RGEO1] (CODE) GO ALTER TABLE [dbo].[MCOMPTA] CHECK CONSTRAINT [FK_MCOMPTA_RGEO1] GO /****** Object: ForeignKey [FK_MCOMPTA_RPOST1] Script Date: 06/27/2012 23:43:34 ******/ ALTER TABLE [dbo].[MCOMPTA] WITH CHECK ADD CONSTRAINT [FK_MCOMPTA_RPOST1] FOREIGN KEY([POSTE]) REFERENCES [dbo].[RPOST1] (CODE) GO ALTER TABLE [dbo].[MCOMPTA] CHECK CONSTRAINT [FK_MCOMPTA_RPOST1] GO /****** Object: ForeignKey [FK_MCOMPTA_RSITE] Script Date: 06/27/2012 23:43:34 ******/ ALTER TABLE [dbo].[MCOMPTA] WITH CHECK ADD CONSTRAINT [FK_MCOMPTA_RSITE] FOREIGN KEY([SITE]) REFERENCES [dbo].[RSITE] (CODE) GO ALTER TABLE [dbo].[MCOMPTA] CHECK CONSTRAINT [FK_MCOMPTA_RSITE] GO
si une personne peut m'aider à fusionner les trois requêtes, ça sera super.
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 -- MONTANT REGLEMENTS OU RECETTES 2009 POSTE SELECT SUM(MONTANT) AS MONTFACTURE FROM [FINPRONET].[dbo].[MCOMPTA] WHERE POSTE=212 AND SITE=1 AND DRAPEAU=2 -- MONTANT FACTURE 2009 POSTE 111 SELECT SUM(MONTANT) AS MONTFACTURE FROM [FINPRONET].[dbo].[MCOMPTA] WHERE POSTE=111 AND SITE=1 AND DRAPEAU=1 -- MOUVEMENT SET DATEFORMAT DMY SELECT SUM(M.MONTANT) AS MONTANT FROM MCOMPTA M INNER JOIN RCOGE1 F ON M.COGE=F.CODE AND WHERE M.COGE=52000100 and M.S='D'AND F.DATECRE BETWEEN '01-01-2008' AND '31-12-2008'
Merci d'avance me chers ami.
Partager