73 lines
2.9 KiB
Transact-SQL
73 lines
2.9 KiB
Transact-SQL
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
|
|
|
|
|
|
|