Я делаю конкатенацию значений там, где значение группировки больше 1. Это работает нормально, но сейчас я пытаюсь выяснить, как использовать номер последовательности / порядка, в котором можно объединить значения в этом порядке. Есть ли способ, которым я могу сделать это?
Так, например, у меня есть таблица, которая имеет следующее:
![Table](https://i.stack.imgur.com/v2L8n.png)
I Мне нужна возможность объединить Field1 и Field4, так как StagingCol - это одно и то же имя, и мне также нужно иметь возможность объединять в порядке, указанном в столбце ConcatenateOrder. Я не могу иметь его вне последовательности, т.е. Field4 + Field1
Это фрагмент кода, который у меня есть, который работает нормально, он объединяет два значения LandingZoneCol ...
--DECLARATION OF LANDING ZONE FIELD NAMES CONCATENATED TOGETHER AND DELMITED BY A COMMA WHERE VALUE NEEDS TO BE CONCATENATED (I.E. SUBSCRIBER + SEQ# = MEMBER_ID)
SELECT @ConcatLandingZoneFieldNames = ISNULL(@ConcatLandingZoneFieldNames,'') + ISNULL(LandZoneMapping.LandingZoneFieldName,'') + ', '
FROM @LandingZoneMapping AS LandZoneMapping
WHERE LandZoneMapping.StagingColumnName <> 'BreadCrumb'
AND LandZoneMapping.StagingColumnName IN (SELECT StagingColumnName
FROM @TEST
WHERE Total > 1)
--DECLARATION OF VARIABLES
SET @ConcatLandingZoneFieldNames = CONCAT('CONCAT(',SUBSTRING(@ConcatLandingZoneFieldNames,1,LEN(@ConcatLandingZoneFieldNames)-1),')')
Текущие результаты CONCAT (Field1, Field4)
Ожидаемые результаты CONCAT (Field1, Field4)
Хотя Текущие и Ожидаемые в настоящее время одинаковы. Я хочу убедиться, что объединение значений происходит в правильном порядке. Если бы я перевернул числа ConcatenateOrder в приведенной выше таблице, результат был бы другим. «Текущие» результаты в конечном итоге будут CONCAT (Field1, Field4), но «Ожидаемые результаты» должны быть CONCAT (Field4, Field1)
Любая помощь будет принята с благодарностью.