salut tout le monde
J'ai besoin d'aide ...
Je souhaiterais crée un tableau qui contient deux colonnes (ex: val1, val2)
j'utilise pour cela la fonction insert :
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 SET NOCOUNT ON DECLARE @StartDate DateTime DECLARE @val2 table(poste1 real,poste2 real); DECLARE @EndDate DateTime DECLARE @IdxDate DateTime SET @StartDate = STR(year(GETDATE())) + '/' + STR(month(GETDATE())) + '/' + '01' SET @IdxDate = @StartDate SET @EndDate = STR(year(GETDATE())) + '/' + STR(month(GETDATE())) + '/' + STR(day(GETDATE())) SET NOCOUNT OFF WHILE @IdxDate <= @EndDate BEGIN INSERT INTO @val2 (poste1) SELECT Sum(StateTime)/3600000 as Tempo FROM Runtime.dbo.History WHERE TagName IN ('SysPulse') AND Value = 1 AND wwRetrievalMode = 'ValueState' AND wwStateCalc = 'Total' AND wwCycleCount = 100 AND wwVersion = 'Latest' AND DateTime >= @IdxDate +' 05:00:00' AND DateTime < STR(year(@IdxDate)) + '/' + STR(month(@IdxDate)) + '/' + STR(day(@IdxDate+1))+' 13:00:00' INSERT INTO @val2 (poste2) SELECT Sum(StateTime)/3600000 as Tempo FROM Runtime.dbo.History WHERE TagName IN ('SysPulse') AND Value = 1 AND wwRetrievalMode = 'ValueState' AND wwStateCalc = 'Total' AND wwCycleCount = 100 AND wwVersion = 'Latest' AND DateTime >= @IdxDate +' 13:00:00' AND DateTime < STR(year(@IdxDate)) + '/' + STR(month(@IdxDate)) + '/' + STR(day(@IdxDate+1))+' 21:00:00' IF @IdxDate >= @EndDate BREAK ELSE SET @IdxDate = DateAdd(dd,1,@IdxDate) CONTINUE END select * from @val2
Le resultat que j'obtiens est presque celui que je recherche, mais le problème est que le resultat du premier insert n'est pas sur la même ligne que le resultat du second...
Avez vous une idée ?
Merci
Partager