Поделиться через


Union (многомерные выражения)

Возвращает набор, порожденный объединением двух наборов, по желанию сохраняя повторяющиеся элементы.

Синтаксис

Standard syntax
Union(Set_Expression1, Set_Expression2 [,...n][, ALL])

Alternate syntax 1
Set_Expression1 + Set_Expression2 [+...n]

Alternate syntax 2
{Set_Expression1 , Set_Expression2 [,...n]}

Аргументы

  • Set Expression 1
    Допустимое многомерное выражение, возвращающее набор.

  • Set Expression 2
    Допустимое многомерное выражение, возвращающее набор.

Замечания

Эта функция возвращает объединение двух или более заданных наборов. При использовании стандартного синтаксиса или его первого альтернативного варианта дубликаты исключаются по умолчанию. При использовании стандартного синтаксиса с флагом ALL дубликаты в объединенном наборе остаются. Дубликаты удаляются из конца набора. При использовании второго альтернативного варианта синтаксиса дубликаты всегда сохраняются.

Примеры

В следующем примере демонстрируется поведение функции Union при использовании каждого из синтаксисов.

Стандартный синтаксис, дубликаты исключаются

SELECT Union 
   ([Date].[Calendar Year].children
   , {[Date].[Calendar Year].[CY 2002]}
   , {[Date].[Calendar Year].[CY 2003]}
   ) ON 0
FROM [Adventure Works]

Стандартный синтаксис, дубликаты сохраняются

SELECT Union 
   ([Date].[Calendar Year].children
   , {[Date].[Calendar Year].[CY 2002]}
   , {[Date].[Calendar Year].[CY 2003]}
   , ALL
   ) ON 0
FROM [Adventure Works]

Первый альтернативный синтаксис, дубликаты исключаются

SELECT 
   [Date].[Calendar Year].children 
   + {[Date].[Calendar Year].[CY 2002]} 
   + {[Date].[Calendar Year].[CY 2003]} ON 0
FROM [Adventure Works]

Второй альтернативный синтаксис, дубликаты сохраняются

SELECT 
   {[Date].[Calendar Year].children
   , [Date].[Calendar Year].[CY 2002]
   , [Date].[Calendar Year].[CY 2003]} ON 0
FROM [Adventure Works]