Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
✅ Azure Stream Analytics ✅ Fabric Eventstream
Két vagy több lekérdezés eredményét egyetlen eredményhalmazba egyesíti, amely tartalmazza az összes olyan sort, amely az egyesítő összes lekérdezéséhez tartozik. Az UNION művelet eltér a két tábla oszlopait egyesítő illesztésektől.
Az alábbi alapvető szabályok két lekérdezés eredményhalmazainak az UNION használatával történő kombinálására vonatkoznak:
- A streameknek ugyanazzal a partíciókulcszal és partíciószámsal kell rendelkezniük (a partíciókról itt olvashat bővebben)
- Az oszlopok számának és sorrendjének minden lekérdezésben azonosnak kell lennie.
- Az adattípusoknak kompatibilisnek kell lenniük.
Fontos
Ha a bemenetek eltérő számú partícióval rendelkeznek, a skálázás nem lehetséges, mivel a Stream Analytics-feladatok skálázása kihasználja a bemenet és a kimenet partícióinak előnyeit.
Szemantika
{ <query_specification> | ( <query_expression> ) }
UNION
<query_specification | ( <query_expression> )
[ UNION <query_specification> | ( <query_expression> )
[ ...n ] ]
Érvek
< > query_specification | ( <query_expression> )
Olyan lekérdezési specifikáció vagy lekérdezési kifejezés, amely egy másik lekérdezési specifikációból vagy lekérdezési kifejezésből származó adatokkal kombinálandó adatokat ad vissza. Az uniós művelet részét képező oszlopok definícióinak azonosnak kell lenniük, vagy alias használatával azonosnak kell lenniük, és kompatibilisnek kell lenniük.
UNÓ
Azt adja meg, hogy több eredményhalmazt kell egyesíteni, és egyetlen eredményhalmazként kell visszaadni. Az UNION az összes sort belefoglalja az eredményekbe. Ide tartoznak az ismétlődések.
példa
SELECT TollId, EntryTime AS Time, LicensePlate
FROM Input1 TIMESTAMP BY EntryTime
UNION
SELECT TollId, ExitTime AS Time, LicensePlate
FROM Input2 TIMESTAMP BY ExitTime
Szükség esetén a streamek újraparticionálásra kerülhetnek (vagy ugyanabban a feladatban, mint alább, vagy egy másikat a jobb teljesítmény érdekében):
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