Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
✅Eventstream prostředků infrastruktury Azure Stream Analytics ✅
Kombinuje výsledky dvou nebo více dotazů do jedné sady výsledků, která zahrnuje všechny řádky, které patří do všech dotazů ve sjednocení. Operace UNION se liší od použití spojení, která kombinují sloupce ze dvou tabulek.
Následují základní pravidla pro kombinování sad výsledků dvou dotazů pomocí funkce UNION:
- Streamy musí mít stejný klíč oddílu a počet oddílů (další informace o oddílech najdete tady).
- Číslo a pořadí sloupců musí být ve všech dotazech stejné.
- Datové typy musí být kompatibilní.
Důležité
Pokud mají vstupy jiný počet oddílů, škálování není možné, protože škálování úlohy Stream Analytics využívá výhod oddílů ve vstupu a výstupu.
Syntaxe
{ <query_specification> | ( <query_expression> ) }
UNION
<query_specification | ( <query_expression> )
[ UNION <query_specification> | ( <query_expression> )
[ ...n ] ]
Argumenty
< > query_specification | ( <query_expression> )
Je specifikace dotazu nebo výraz dotazu, který vrací data, která se mají kombinovat s daty z jiné specifikace dotazu nebo výrazu dotazu. Definice sloupců, které jsou součástí operace UNION, musí být stejné nebo musí být pojmenované stejně pomocí aliasu a musí být kompatibilní.
UNIE
Určuje, že se má zkombinovat několik sad výsledků a vrátit jako jednu sadu výsledků. FUNKCE UNION zahrnuje do výsledků všechny řádky. To zahrnuje duplicity.
Příklad
SELECT TollId, EntryTime AS Time, LicensePlate
FROM Input1 TIMESTAMP BY EntryTime
UNION
SELECT TollId, ExitTime AS Time, LicensePlate
FROM Input2 TIMESTAMP BY ExitTime
V případě potřeby je možné datové proudy předělovat tak, aby odpovídaly (buď ve stejné úloze jako níže, nebo jiné, aby se dosáhlo lepšího výkonu):
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