diff --git a/Shared/IdentNrGuppirung.sql b/Shared/IdentNrGuppirung.sql new file mode 100644 index 00000000..a92d3a7a --- /dev/null +++ b/Shared/IdentNrGuppirung.sql @@ -0,0 +1,72 @@ +DECLARE @Id INT = (SELECT MAX([ID]) FROM [IdentNr_Gruppendetail]); + +INSERT INTO [IdentNr_Gruppendetail] ([ID], [Name]) +OUTPUT [Inserted].[ID], [Inserted].[Name] +SELECT ROW_NUMBER() OVER(ORDER BY [Name]) + @Id AS [ID] + , [Gruppendetail].[Name] AS [Name] + FROM (SELECT DISTINCT [IdNrName].[Name] + FROM (SELECT [Identnr].[IdentNr] + , [Identnr].[Typ] + , 'WSD ' + + CASE WHEN [Identnr].[Nennweite] IS NOT NULL THEN CAST([Identnr].[Nennweite] AS VARCHAR) ELSE '0' END + + ' / ' + + CASE WHEN [Identnr].[Temperatur] IS NOT NULL THEN CAST([Identnr].[Temperatur] AS VARCHAR) ELSE '0' END + + '°' AS [Name] + FROM [Identnr] + WHERE [Typ] LIKE '%WSD%') + AS [IdNrName] + LEFT JOIN [IdentNr_Gruppendetail] ON [IdentNr_Gruppendetail].[Name] = [IdNrName].[Name] + WHERE [IdentNr_Gruppendetail].[ID] IS NULL) + AS [Gruppendetail] + + SET @Id = (SELECT MAX([ID]) FROM [IdentNrGruppierung]); + SET IDENTITY_INSERT [IdentNrGruppierung] ON; +INSERT INTO [IdentNrGruppierung] ( + [IdentNr] + , [GruppenID] + , [ID]) +SELECT [MissingIdentNr].[IdentNr] + , [MissingIdentNr].[GruppenID] + , [MissingIdentNr].[ID] + FROM (SELECT [IdentNrNames].[IdentNr] AS [IdentNr] + , [IdentNr_Gruppendetail].[ID] AS [GruppenID] + , ROW_NUMBER() OVER(ORDER BY [IdentNrNames].[IdentNr]) + @Id AS [ID] + FROM (SELECT [Identnr].[IdentNr] + , [Identnr].[Typ] + ,'WSD ' + + CASE WHEN [Identnr].[Nennweite] IS NOT NULL THEN CAST([Identnr].[Nennweite] AS VARCHAR) ELSE '0' END + + ' / ' + + CASE WHEN [Identnr].[Temperatur] IS NOT NULL THEN CAST([Identnr].[Temperatur] AS VARCHAR) ELSE '0' END + + '°' AS [Name] + FROM [Identnr] + WHERE [Typ] LIKE '%WSD%') + AS [IdentNrNames] + LEFT JOIN [IdentNr_Gruppendetail] ON [IdentNr_Gruppendetail].[Name] = [IdentNrNames].[Name] + LEFT JOIN [IdentNrGruppierung] ON [IdentNrGruppierung].[IdentNr] = [IdentNrNames].[IdentNr] + WHERE [IdentNrGruppierung].[IdentNr] IS NULL ) + AS [MissingIdentNr] + SET IDENTITY_INSERT [IdentNrGruppierung] OFF; + +SELECT [IdentNrGruppierung].[IdentNr] AS [IdentGroupirungNr] + , [Identnr].[IdentNr] + , [Identnr].[KurzBez] + , [Identnr].[Typ] + , [Identnr].[Nennweite] + , [Identnr].[Temperatur] + , [Identnr].[Druck] + , [Identnr].[Baulaenge] + , [IdentNr_Gruppendetail].[Name] + , [IdentNr_Gruppendetail].[ID] AS [IdNrGruppenDetailId] + , [IdentNrGruppierung].[GruppenID] AS [IdentNrGruppierungGruppenId] + , [IdentNrGruppierung].[ID] AS [IdentNrGruppierungId] + , [Identnr].[AnlageDatum] + FROM [Identnr] + LEFT JOIN [IdentNrGruppierung] ON [IdentNrGruppierung].[IdentNr] = [Identnr].[IdentNr] + LEFT JOIN [IdentNr_Gruppendetail] ON [IdentNr_Gruppendetail].[ID] = [IdentNrGruppierung].[GruppenID] + WHERE [Identnr].[Typ] LIKE '%WPD%' + OR [Identnr].[Typ] LIKE '%WPF%' + OR [Identnr].[Typ] LIKE '%WSD%' + ORDER BY [Identnr].[AnlageDatum] DESC + + +