Но студия у меня требовала расширение файла ASF или какое-то похожее
Возможно проблема в версиях. Т.к. файл видимо создавался в mssql server 2008.Любая версия: 2008 или выше.
SELECT Композиции.Наименование, Композиции.Исполнитель,
Count(Композиции.Код_Композиции) AS [Состоит в треклистах],
STRING_AGG( Треклист.Название, ', ')
FROM Треклист
INNER JOIN (Композиции INNER JOIN [Состав треклиста]
ON Композиции.Код_Композиции = [Состав треклиста].Код_Композиции)
ON Треклист.Код_Треклиста = [Состав треклиста].Код_Треклиста
GROUP BY Композиции.Наименование, Композиции.Исполнитель;
mdf
, ldf
и может ndf
) заказчику и там её "Присоединить".Отслеживать участки незаполненных периодов.
Нужно чтобы запрос сам собирал в одну строку по каждому заказчику данные.
DECLARE @T TABLE ( ID INT, [Name] VARCHAR(50), [Begin] DATE, [End] DATE)
INSERT @T VALUES ( 234, 'SOKOL', '01.02.2020', '08.02.2020' ),
(145, 'EVA', '03.02.2020', '06.02.2020'),
(145, 'EVA', '16.02.2020', '20.02.2020')
SELECT ID, [Name],
STRING_AGG( CONVERT(VARCHAR, [Begin], 104) + '~' +
CONVERT(VARCHAR, [End], 104), ', ')
WITHIN GROUP (ORDER BY [Begin] ) AS [Orders]
FROM @T
GROUP BY ID, [Name]
DECLARE @T TABLE ( M DATETIME2(0))
INSERT @T VALUES ('2017-02-01 15:00:43'),
('2017-03-18 10:30:10'),
('2017-12-11 01:21:55'),
('2017-12-11 15:33:03'),
('2017-03-18 10:30:10'),
('2017-02-22 08:40:42'),
('2017-06-06 23:59:40')
SELECT DISTINCT MB.M AS [Start],
( SELECT TOP 1 M FROM @T AS ME WHERE (ME.M > MB.M) ORDER BY ME.M ) AS [End]
FROM @T AS MB
UNION
SELECT M, M
FROM @T
GROUP BY M
HAVING COUNT(M) > 1
ORDER BY 1, 2
главное чтоб можно было читать данныеТогда можно предложить или моментальный снимок, или копировать файл средствами Windows с помощью, теневой копии, например.
update TeamMembers set name =
нет значения. Для каждого поля нужно писать отдельный подзапрос.DECLARE @ID_TeamMembers INT
SELECT @ID_TeamMembers = ID FROM TeamMembers WHERE …
IF @ID_TeamMembers IS NULL
INSERT INTO TeamMembers …
SET @ID_TeamMembers = IDENT_CURRENT( 'TeamMembers' ) -- чтобы не был NULL, может нужно будет
ELSE
UPDATE TeamMembers SET … WHERE ( ID = @ID_TeamMembers )
DECLARE @Role TABLE ( [Role] VARCHAR(100) )
DECLARE @Add TABLE ( [Role] VARCHAR(100) )
INSERT INTO @Role SELECT TRIM( value ) FROM STRING_SPLIT( 'vocals, guitar, piano', ',' )
INSERT INTO @Add SELECT TRIM( value ) FROM STRING_SPLIT( 'bass, piano, drums', ',' )
INSERT INTO @Role SELECT [Role] FROM @Add WHERE [Role] NOT IN ( SELECT [Role] FROM @Role )
SELECT STRING_AGG( [Role], ', ' ) FROM @Role