Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
✅ Azure Stream Analytics ✅ Fabric Eventstream
Kombinerar resultatet av två eller flera frågor till en enda resultatuppsättning som innehåller alla rader som tillhör alla frågor i unionen. UNION-åtgärden skiljer sig från att använda kopplingar som kombinerar kolumner från två tabeller.
Följande är grundläggande regler för att kombinera resultatuppsättningarna för två frågor med hjälp av UNION:
- Strömmar måste ha samma partitionsnyckel och partitionsantal (läs mer om partitioner här)
- Antalet och ordningen på kolumnerna måste vara samma i alla frågor.
- Datatyperna måste vara kompatibla.
Viktigt!
Om indata har ett annat antal partitioner är skalning inte möjligt eftersom skalning av ett Stream Analytics-jobb utnyttjar partitioner i indata och utdata.
Syntax
  { <query_specification> | ( <query_expression> ) }   
  UNION  
  <query_specification | ( <query_expression> )   
 [ UNION <query_specification> | ( <query_expression> )   
    [ ...n ] ]  
  
Argumentpunkter
< > query_specification | ( <query_expression> )
Är en frågespecifikation eller ett frågeuttryck som returnerar data som ska kombineras med data från en annan frågespecifikation eller ett frågeuttryck. Definitionerna av kolumnerna som ingår i en UNION-åtgärd måste vara desamma eller ha samma namn med hjälp av ett alias och måste vara kompatibla.
UNION
Anger att flera resultatuppsättningar ska kombineras och returneras som en enda resultatuppsättning. UNION införlivar alla rader i resultatet. Detta omfattar dubbletter.
Exempel
SELECT TollId, EntryTime AS Time, LicensePlate   
FROM Input1 TIMESTAMP BY EntryTime   
UNION  
SELECT TollId, ExitTime AS Time, LicensePlate   
FROM Input2 TIMESTAMP BY ExitTime  
  
Om det behövs kan strömmar partitioneras om för att matcha (antingen i samma jobb som nedan eller ett annat för att uppnå bättre prestanda):
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