BİRLİK

✅ Azure Stream Analytics ✅ Fabric Olay Akışı

İki veya daha fazla sorgunun sonuçlarını birleşimdeki tüm sorgulara ait tüm satırları içeren tek bir sonuç kümesinde birleştirir. UNION işlemi, iki tablodaki sütunları birleştiren birleşimleri kullanmaktan farklıdır.

UNION kullanarak iki sorgunun sonuç kümelerini birleştirmeye yönelik temel kurallar aşağıdadır:

  • Akışlar aynı bölüm anahtarına ve bölüm sayısına sahip olmalıdır ( burada bölümler hakkında daha fazla bilgi edinin)
  • Sütunların sayısı ve sırası tüm sorgularda aynı olmalıdır.
  • Veri türlerinin uyumlu olması gerekir.

Önemli

Girişlerin farklı sayıda bölümü varsa, Stream Analytics işini ölçeklendirmek giriş ve çıkıştaki bölümlerden yararlandığından ölçeklendirme mümkün değildir.

Sözdizimi

  { <query_specification> | ( <query_expression> ) }   
  UNION  
  <query_specification | ( <query_expression> )   
 [ UNION <query_specification> | ( <query_expression> )   
    [ ...n ] ]  
  

Tartışmalar

< > query_specification | ( <query_expression> )

Başka bir sorgu belirtiminden veya sorgu ifadesinden alınan verilerle birleştirilecek verileri döndüren bir sorgu belirtimi veya sorgu ifadesidir. UNION işleminin parçası olan sütunların tanımlarının aynı olması veya diğer ad kullanılarak aynı şekilde adlandırılması ve uyumlu olması gerekir.

SENDİKA

Birden çok sonuç kümesinin birleştirilip tek bir sonuç kümesi olarak döndürüldüğünü belirtir. UNION tüm satırları sonuçlara ekler. Buna yinelenenler de dahildir.

Örnek

SELECT TollId, EntryTime AS Time, LicensePlate   
FROM Input1 TIMESTAMP BY EntryTime   
UNION  
SELECT TollId, ExitTime AS Time, LicensePlate   
FROM Input2 TIMESTAMP BY ExitTime  
  

Gerekirse, akışlar eşleşecek şekilde yeniden bölümlenebilir (aşağıdakiyle aynı işte veya daha iyi performans elde etmek için başka bir işte):

WITH Input1_P as (
SELECT * FROM Input1 PARTITION BY partitionId INTO 2
),

Input2_P as (
SELET * FROM Input2 PARTITION BY partitionId INTO 2
)

SELECT TollId, EntryTime AS Time, LicensePlate   
FROM Input1_P TIMESTAMP BY EntryTime
UNION  
SELECT TollId, ExitTime AS Time, LicensePlate   
FROM Input2_P TIMESTAMP BY ExitTime