ahmed_sa Ответов: 0

Как отобразить единицу измерения в качестве второго элемента отображения для того же порядка отображения?


Я работаю на SQL server 2012 и сталкиваюсь с проблемой : я не могу организовать функции, содержащие единицу измерения в качестве второго элемента отображения для того же порядка отображения .

для семейства объектов в качестве примера

"Семья" как [семьи], 'FamilyMaxValue' как [FamilyMaxValue], 'FamilyUnit' как [FamilyUnit]

Мне нужно, чтобы все было так, как показано ниже

"Семья" как [семьи], 'FamilyUnit' как [FamilyUnit],'FamilyMaxValue' как [FamilyMaxValue]

Функция и Единица измерения и максимальное значение получают одинаковый порядок отображения для каждой функции, но моя проблема

Как получить единицу измерения в качестве второго дисплея для того же порядка отображения .

Смысл изменения будет заключаться в порядке элементов, разделенных запятой, чтобы отобразить единицу объекта в качестве второго дисплея для того же порядка отображения.

create table #SplitNumberAndUnitsFinal
(
DKFeatureName  nvarchar(100),
DisplayOrder  int
)
insert into #SplitNumberAndUnitsFinal (DKFeatureName,DisplayOrder)
values
('package',1),
('packageUnit',1),
('Family',2),
('FamilyMaxValue',2),
('FamilyUnit',2),
('parts',3),
('partsMaxValue',3),
('partsUnit',3)


Ожидаемый результат расположите функциональный блок в качестве второго дисплея следующим образом:

Feature,FeatureUnit,FeatureMaxValue в соответствии с тем же порядком отображения



'package' as [package], 'packageUnit' as [packageUnit],
'Family' as [Family], 'FamilyUnit' as [FamilyUnit],'FamilyMaxValue' as [FamilyMaxValue],
'parts' as [parts], 'partsUnit' as [partsUnit],'partsMaxValue' as [partsMaxValue]


И мне не нужно отображать его как показано ниже :

Feature,FeatureMaxValue,FeatureUnit для одного и того же порядка отображения

'package' as [package], 'packageUnit' as [packageUnit],
 'Family' as [Family], 'FamilyMaxValue' as [FamilyMaxValue], 'FamilyUnit' as [FamilyUnit],
 'parts' as [parts], 'partsMaxValue' as [partsMaxValue], 'partsUnit' as [partsUnit]


Что я уже пробовал:

DECLARE @Header nvarchar(max)=( select
substring(
    (
        Select  ', '''+ DKFeatureName +''' as ['+ DKFeatureName +']' AS [text()]
        From #SplitNumberAndUnitsFinal 
        GROUP BY DKFeatureName
        ORDER BY MIN(DisplayOrder)
       
       
        For XML PATH ('')
    ), 2, 10000) [Columns])
    print @Header

0 Ответов