Salut à tous voila je souhaite calculer les vitesse des moteurs pour le laminage du fer à béton pour ce la j'ai créé une table avec sql server management studio .
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 DROP TABLE [Calcul_vitesse1] GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Calcul_vitesse1]( [S(mm²)] [float] PRIMARY KEY NOT NULL, [NOM_MACHINE] [nvarchar](50) NULL, [D(mm)] [float] NULL, [RATIO] [float] NULL, [Vi(m/s)] [float] NULL, [Ref_S(mm²)] [float] NOT NULL ) ALTER TABLE [dbo].[Calcul_vitesse1] WITH CHECK ADD CONSTRAINT [FK_Calcul_vitesse1] FOREIGN KEY( [Ref_S(mm²)]) REFERENCES [dbo].[Calcul_vitesse1] ([S(mm²)]) GO ALTER TABLE [dbo].[Calcul_vitesse1] CHECK CONSTRAINT [FK_Calcul_vitesse1] GO
Je souhaite donc à partir d'une Vue sql calculer la vitesse du d'euxieme moteur à partir des données du prmier moteur à travers la relation V1*S1=V2*S2 (V reprensente la vitesse et S représente la section)
donc si je veut par exemple avoir v2 la formule serai V2=(V1*S1)/S2.
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 Drop VIEW View_Calcul_vitesse1 go ----------------------------------------------------------------------------- CREATE VIEW View_Calcul_vitesse1 AS WITH T01 AS ( SELECT [S(mm²)], NOM_MACHINE, [D(mm)], [RATIO], [Vi(m/s)], ROUND(([Vi(m/s)]/(([D(mm)]/1000)*(3.14))*60)*[S(mm²)], 2) AS V, 1 AS C FROM Calcul_vitesse1 ), T02 AS ( SELECT [S(mm²)], NOM_MACHINE, [D(mm)], [RATIO], [Vi(m/s)], ROUND(V/[S(mm²)], 2) AS V, 2 AS C FROM T01 ) SELECT * FROM T01 UNION ALL SELECT * FROM T02
mais sa ne marche pas car la vitesse du moteur suivant doit dépendre de la vitesse du moteur précédent et de sa section [S(mm²)]
Si quelqu'un a une idée même en VB.net se sera la bienvenue car dans le forum dédier à SQL Server je n'es pas pu trouver une solution à mon problème.
Partager