Опекун может оказывать поддержку двум разным службам в одно и то же время начала и окончания, это называется тип обслуживания 1: 2. Уникальный идентификатор для этого типа смены генерируется как тот же уникальный идентификатор для этого типа услуги. Я хочу добавить 2 в конце уникального идентификатора для каждого второго сервиса. Как мне найти это? Имейте в виду, я использую это в рамках СОЮЗА с другими 3 утверждением выбора. Первый запрос над объединением - это один
Мой запрос ниже:
SELECT DISTINCT
CASE
WHEN SHIFT_CODE = '1:2 Support'
THEN '3'
ELSE ''
END [Datatype Id],
CAST(SS.Schedule_Subshift_ID AS VARCHAR(20)) + ' 1:2' [Unique Visit ID]
'' [Date],
'' [Start Time],
''+ ',' [End Time],
''+ ',,,' [Unique Client ID],
'' [Client Forename]
FROM
Subshift
UNION
SELECT DISTINCT
CASE
WHEN CAST(CAST(EE.Start_Date_SK AS VARCHAR(255)) AS DATE) >= (GETDATE() - 41)
THEN ' 11 '
ELSE ''
END [DataTypeID],
'' [Unique Visit ID],
'' [Date],
'' [Start Time],
''+ ',' [End Time],
''+ ',,,' [Unique Client ID],
'' [Client Forename]
FROM
Subshift
Результат, который я получаю:
Service Unique Visit ID Carer Date Start Time End Time SHIFT_PROPERTY_CODE
Moira 211870 2 A 16/12/2019 19:00 22:00, 1:2 Support
Marta 211870 2 A 16/12/2019 19:00 22:00, 1:2 Support
Rebecca 211871 2 B 19/12/2019 19:00 22:00, 1:2 Support
Elsie 211871 2 B 19/12/2019 19:00 22:00, 1:2 Support
Желаемый результат должен быть:
Service Unique Visit ID Carer Date Start Time End Time SHIFT_PROPERTY_CODE
Moira 211870 A 16/12/2019 19:00 22:00, 1:2 Support
Marta 211870 2 A 16/12/2019 19:00 22:00, 1:2 Support
Rebecca 211871 B 19/12/2019 19:00 22:00, 1:2 Support
Elsie 211871 2 B 19/12/2019 19:00 22:00, 1:2 Support