Informazioni di riferimento sul linguaggio di query di Gemelli digitali di Azure: clausola MATCH

Questo documento contiene informazioni di riferimento sulla clausola MATCH per il linguaggio di query di Gemelli digitali di Azure.

La MATCH clausola viene usata nel linguaggio di query di Gemelli digitali di Azure come parte della clausola FROM. MATCH consente di specificare quale modello deve essere seguito durante l'attraversamento delle relazioni nel grafico di Gemelli digitali di Azure ( noto anche come modello di query "hop variabile").

Questa clausola è facoltativa durante l'esecuzione di query.

Sintassi principale: MATCH

MATCH supporta qualsiasi query che trova un percorso tra gemelli all'interno di un intervallo di hop, in base a determinate condizioni di relazione.

La condizione di relazione può includere uno o più dei dettagli seguenti:

  • Direzione della relazione (da sinistra a destra, da destra a sinistra o non direzionale)
  • nome della relazione (singolo nome o elenco di possibilità)
  • Numero di "hop" da un gemello a un altro (numero esatto o intervallo)
  • Assegnazione di variabile di query per rappresentare la relazione all'interno del testo della query. Ciò consentirà anche di filtrare in base alle proprietà delle relazioni.

Una query con una MATCH clausola deve inoltre utilizzare la clausola WHERE per specificare per $dtId almeno uno dei gemelli a cui fa riferimento.

Nota

MATCH è un superset di tutte le JOIN query che possono essere eseguite nell'archivio query.

Sintassi

Ecco la sintassi di base MATCH .

Contiene questi segnaposto:

  • twin_or_twin_collection (x2): la MATCH clausola richiede un operando per rappresentare un singolo gemello. L'altro operando può rappresentare un altro gemello singolo o una raccolta di gemelli.
  • relationship_condition: in questo spazio definire una condizione che descrive la relazione tra i gemelli o le raccolte di gemelli. La condizione può specificare la direzione della relazione, specificare il nome della relazione, specificare il numero di hop, specificare le proprietà della relazione o qualsiasi combinazione di queste opzioni.
  • twin_ID: in questo caso, specificare un $dtId oggetto all'interno di una delle raccolte di gemelli in modo che uno degli operandi rappresenti un singolo gemello.
--SELECT ... FROM ...  
MATCH (twin_or_twin_collection_1)-[relationship_condition]-(twin_or_twin_collection_2)
WHERE twin_or_twin_collection.$dtId = 'twin_ID' 
-- AND ...

È possibile lasciare vuota una delle raccolte di dispositivi gemelli per consentire a qualsiasi gemello di funzionare in tale punto.

È anche possibile modificare il numero di condizioni di relazione, in modo da avere più condizioni di relazione concatenati o nessuna condizione di relazione:

--Chained relationship conditions
-- SELECT ... FROM ... 
MATCH (twin_or_twin_collection_1)-[relationship_condition]-(twin_or_twin_collection_2)-[relationship_condition]-(twin_or_twin_collection_3)...
WHERE twin_or_twin_collection.$dtId = 'twin_ID'
-- No relationship condition
-- SELECT ... FROM ... 
MATCH (twin_or_twin_collection_1)
WHERE twin_or_twin_collection.$dtId = 'twin_ID'

Per altri dettagli su ogni tipo di condizione di relazione e su come combinarli, vedere le altre sezioni di questo documento.

Esempio

Di seguito è riportato un esempio di query che usa MATCH.

La query specifica una direzione di relazione e cerca building and sensor twins where...

  • il sensore è destinato a qualsiasi relazione di un gemello Building con un $dtId building21 e
  • il sensore ha una temperatura superiore a 50. L'edificio e il sensore sono entrambi inclusi nel risultato della query.
SELECT Building, Sensor FROM DIGITALTWINS 
MATCH (Building)-[]->(Sensor) 
WHERE Building.$dtId = 'Building21' AND Sensor.temperature > 50

Specificare la direzione della relazione

Utilizzare la condizione di relazione nella MATCH clausola per specificare una direzione di relazione tra i gemelli. Le possibili direzioni includono da sinistra a destra, da destra a sinistra o non direzionale. Le relazioni cicliche vengono rilevate automaticamente, in modo che una relazione venga attraversata una sola volta.

Nota

È possibile rappresentare relazioni bidirezionali usando il concatenamento.

Sintassi

Nota

Gli esempi in questa sezione sono incentrati sulla direzione delle relazioni. Non specificano nomi di relazione, per impostazione predefinita hanno un singolo hop e non assegnano variabili di query alle relazioni. Per istruzioni su come eseguire altre operazioni con queste altre condizioni, vedere Specificare il nome della relazione, Specificare il numero di hop e Assegnare la variabile di query alla relazione. Per informazioni su come usare più di queste insieme nella stessa query, vedere Combinare le operazioni MATCH.

Le descrizioni delle relazioni direzionali usano una rappresentazione visiva di una freccia per indicare la direzione della relazione. La freccia include uno spazio riservato tra parentesi quadre ([]) per un nome di relazione facoltativo.

In questa sezione viene illustrata la sintassi per diverse direzioni delle relazioni. I valori segnaposto che devono essere sostituiti con i valori sono source_twin_or_twin_collection e target_twin_or_twin_collection.

Per una relazione da sinistra a destra , usare la sintassi seguente.

-- SELECT ... FROM ...
MATCH (source_twin_or_twin_collection)-[]->(target_twin_or_twin_collection)
-- WHERE ...

Per una relazione da destra a sinistra , usare la sintassi seguente.

-- SELECT ... FROM ...
MATCH (target_twin_or_twin_collection)<-[]-(source_twin_or_twin_collection)
-- WHERE ...

Per una relazione non direzionale , utilizzare la sintassi seguente. In questo modo non verrà specificata una direzione per la relazione, pertanto le relazioni di qualsiasi direzione verranno incluse nel risultato.

-- SELECT ... FROM ...
MATCH (source_twin_or_twin_collection)-[]-(target_twin_or_twin_collection)
-- WHERE ...

Suggerimento

Le query non direzionali richiedono un'elaborazione aggiuntiva, che può comportare un aumento della latenza e dei costi.

Esempi

Il primo esempio mostra un attraversamento direzionale da sinistra a destra. Questa query trova i gemelli Room e Factory dove...

  • Room targets Factory (con qualsiasi nome di relazione)
  • La stanza ha un valore di temperatura maggiore di 50
  • Fabbrica ha un $dtId 'ABC'
SELECT Room, Factory FROM DIGITALTWINS MATCH (Room)-[]->(Factory) 
WHERE Room.temperature > 50 AND Factory.$dtId = 'ABC'

Nota

Le query MATCH che contengono $dtId filtri su qualsiasi gemello diverso dal gemello iniziale per l'attraversamento MATCH possono mostrare risultati vuoti. Questo vale per factory.$dtId nell'esempio precedente. Per altre informazioni, vedere Limitazioni.

L'esempio seguente mostra un attraversamento direzionale da destra a sinistra. Questa query è simile a quella precedente, ma la direzione della relazione tra Room e Factory viene invertita. Questa query trova i gemelli Room e Factory dove...

  • Factory targets Room (con qualsiasi nome di relazione)
  • Fabbrica ha un $dtId 'ABC'
  • La stanza ha un valore di temperatura maggiore di 50
SELECT Room, Factory FROM DIGITALTWINS MATCH (Room)<-[]-(Factory) 
WHERE Factory.$dtId = 'ABC' AND Room.temperature > 50

Nell'esempio seguente viene illustrato un attraversamento non direzionale. Questa query trova i gemelli Room e Factory dove...

  • Room e Factory condividono qualsiasi nome di relazione, andando in entrambe le direzioni
  • Fabbrica ha un $dtId 'ABC'
  • La stanza ha un valore di umidità maggiore di 70
SELECT Factory, Room FROM DIGITALTWINS MATCH (Factory)-[]-(Room) 
WHERE Factory.$dtId ='ABC'  AND Room.humidity > 70

Specificare il nome della relazione

Facoltativamente, è possibile usare la condizione di relazione nella MATCH clausola per specificare i nomi per le relazioni tra i gemelli. È possibile specificare un singolo nome o un elenco di nomi possibili. Il nome della relazione facoltativa è incluso nella sintassi della freccia per specificare la direzione della relazione.

Se non si specifica un nome di relazione, la query includerà tutti i nomi delle relazioni per impostazione predefinita.

Suggerimento

La specifica dei nomi delle relazioni nella query può migliorare le prestazioni e rendere i risultati più prevedibili.

Sintassi

Nota

Gli esempi in questa sezione sono incentrati sul nome della relazione. Tutti mostrano relazioni non direzionali, per impostazione predefinita a un singolo hop e non assegnano variabili di query alle relazioni. Per istruzioni su come eseguire altre operazioni con queste altre condizioni, vedere Specificare la direzione della relazione, Specificare il numero di hop e Assegnare la variabile di query alla relazione. Per informazioni su come usare più di queste insieme nella stessa query, vedere Combinare le operazioni MATCH.

Specificare il nome di una relazione da attraversare nella MATCH clausola tra parentesi quadre ([]), dopo due punti (:). In questa sezione viene illustrata la sintassi per specificare le relazioni denominate.

Per un singolo nome, usare la sintassi seguente. I valori segnaposto che devono essere sostituiti con i valori sono twin_or_twin_collection_1, relationship_namee twin_or_twin_collection_2.

-- SELECT ... FROM ...
MATCH (twin_or_twin_collection_1)-[:relationship_name]-(twin_or_twin_collection_2)
-- WHERE ...

Per più nomi possibili, usare la sintassi seguente. I valori segnaposto che devono essere sostituiti con i valori sono twin_or_twin_collection_1, , relationship_name_option_1relationship_name_option_2, twin_or_twin_collection_2e la nota per continuare il modello in base alle esigenze per il numero di nomi di relazione da immettere.

-- SELECT ... FROM ...
MATCH (twin_or_twin_collection_1)-[:relationship_name_option_1|relationship_name_option_2|continue pattern as needed...]-(twin_or_twin_collection_2)
-- WHERE ...

Importante

I due punti (:) all'interno delle parentesi quadre sono una parte necessaria della sintassi per specificare un nome di relazione in una MATCH query. Se non si includono i due punti, la query non specifica un nome di relazione. È invece disponibile una query che assegna una variabile di query alla relazione.

(Impostazione predefinita) Per lasciare il nome non specificato, lasciare vuote le parentesi quadre di informazioni sul nome, come illustrato di seguito:

-- SELECT ... FROM ...
MATCH (twin_or_twin_collection_1)-[]-(twin_or_twin_collection_2)
-- WHERE ...

Esempi

Nell'esempio seguente viene illustrato un singolo nome di relazione. Questa query trova i gemelli Building e Sensor dove...

  • La compilazione ha una relazione 'contains' con Sensor (andando in entrambe le direzioni)
  • L'edificio ha un $dtId 'Seattle21'
SELECT Building, Sensor FROM DIGITALTWINS   
MATCH (Building)-[:contains]-(Sensor)  
WHERE Building.$dtId = 'Seattle21'

Nell'esempio seguente vengono illustrati più nomi di relazione possibili. Questa query è simile a quella precedente, ma nel risultato sono inclusi più nomi di relazione possibili. Questa query trova i gemelli Building e Sensor dove...

  • La compilazione ha una relazione 'contains' o 'isAssociatedWith' con Sensor (andando in entrambe le direzioni)
  • L'edificio ha un $dtId 'Seattle21'
SELECT Building, Sensor FROM DIGITALTWINS   
MATCH (Building)-[:contains|isAssociatedWith]-(Sensor)  
WHERE building.$dtId = 'Seattle21'

Nell'esempio seguente non è specificato alcun nome di relazione. Di conseguenza, le relazioni con qualsiasi nome verranno incluse nel risultato della query. Questa query trova i gemelli Building e Sensor dove...

  • La compilazione ha una relazione con Sensor con qualsiasi nome (e andando in entrambe le direzioni)
  • L'edificio ha un $dtId 'Seattle21'
SELECT Building, Sensor FROM DIGITALTWINS   
MATCH (Building-[]-(Sensor)  
WHERE Building.$dtId = 'Seattle21'

Specificare il numero di hop

Facoltativamente, è possibile usare la condizione di relazione nella MATCH clausola per specificare il numero di hop per le relazioni tra i gemelli. È possibile specificare un numero esatto o un intervallo. Questo valore facoltativo è incluso nella sintassi della freccia per specificare la direzione della relazione.

Se non si specifica un numero di hop, per impostazione predefinita la query sarà un hop.

Importante

Se si specifica un numero di hop maggiore di uno, non è possibile assegnare una variabile di query alla relazione. Solo una di queste condizioni può essere usata all'interno della stessa query.

Sintassi

Nota

Gli esempi di questa sezione sono incentrati sul numero di hop. Tutti mostrano relazioni non direzionali senza specificare nomi. Per istruzioni su come eseguire altre operazioni con queste altre condizioni, vedere Specificare la direzione della relazione e Specificare il nome della relazione. Per informazioni su come usare più di queste insieme nella stessa query, vedere Combinare le operazioni MATCH.

Specificare il numero di hop da attraversare nella MATCH clausola tra parentesi quadre ([]).

Per specificare un numero esatto di hop, usare la sintassi seguente. I valori segnaposto che devono essere sostituiti con i valori sono twin_or_twin_collection_1, number_of_hopse twin_or_twin_collection_2.

-- SELECT ... FROM ... 
MATCH (twin_or_twin_collection_1)-[*number_of_hops]-(twin_or_twin_collection_2)
-- WHERE ...

Per specificare un intervallo di hop, utilizzare la sintassi seguente. I valori segnaposto che devono essere sostituiti con i valori sono twin_or_twin_collection_1, ending_limitstarting_limite twin_or_twin_collection_2. Il limite iniziale non è incluso nell'intervallo, mentre il limite finale è incluso.

-- SELECT ... FROM ...
MATCH (twin_or_twin_collection_1)-[*starting_limit..ending_limit]-(twin_or_twin_collection_2)
-- WHERE ...

È anche possibile escludere il limite iniziale per indicare "qualsiasi elemento fino a" (e incluso) il limite finale. È necessario specificare sempre un limite finale.

-- SELECT ... FROM ...
MATCH (twin_or_twin_collection_1)-[*..ending_limit]-(twin_or_twin_collection_2)
-- WHERE ...

(Impostazione predefinita) Per impostazione predefinita, lasciare vuote le parentesi quadre di informazioni sull'hop, come illustrato di seguito:

-- SELECT ... FROM ... 
MATCH (twin_or_twin_collection_1)-[]-(twin_or_twin_collection_2)
-- WHERE ...

Esempi

Nell'esempio seguente viene specificato un numero esatto di hop. La query restituirà solo relazioni tra i gemelli Floor e Room che sono esattamente 3 hop.

SELECT Floor, Room FROM DIGITALTWINS 
MATCH (Floor)-[*3]-(Room)
WHERE Floor.$dtId = 'thermostat-15'

Nell'esempio seguente viene specificato un intervallo di hop. La query restituirà relazioni tra i gemelli Floor e Room compresi tra 1 e 3 hop (ovvero il numero di hop è 2 o 3).

SELECT Floor, Room FROM DIGITALTWINS 
MATCH (Floor)-[*1..3]-(Room)
WHERE Floor.$dtId = 'thermostat-15'

È anche possibile visualizzare un intervallo specificando un solo limite. Nell'esempio seguente la query restituirà relazioni tra i gemelli Floor e Room che sono al massimo 2 hop (ovvero il numero di hop è 1 o 2).

SELECT Floor, Room FROM DIGITALTWINS 
MATCH (Floor)-[*..2]-(Room)
WHERE Floor.$dtId = 'thermostat-15'

Nell'esempio seguente non è specificato alcun numero di hop, quindi per impostazione predefinita verrà impostato un hop tra i gemelli Floor e Room.

SELECT Floor, Room FROM DIGITALTWINS  
MATCH (Floor)-[]-(Room)
WHERE Floor.$dtId = 'thermostat-15'

Assegnare la variabile di query alla relazione (e specificare le proprietà delle relazioni)

Facoltativamente, è possibile assegnare una variabile di query alla relazione a cui si fa riferimento nella MATCH clausola , in modo che sia possibile farvi riferimento in base al nome nel testo della query.

Un risultato utile di questa operazione è la possibilità di filtrare le proprietà delle relazioni nella WHERE clausola .

Importante

L'assegnazione di una variabile di query alla relazione è supportata solo quando la query specifica un singolo hop. All'interno di una query è necessario scegliere tra specificare una variabile di relazione e specificare un numero maggiore di hop.

Sintassi

Nota

Gli esempi in questa sezione si concentrano su una variabile di query per la relazione. Tutti mostrano relazioni non direzionali senza specificare nomi. Per istruzioni su come eseguire altre operazioni con queste altre condizioni, vedere Specificare la direzione della relazione e Specificare il nome della relazione. Per informazioni su come usare più di queste insieme nella stessa query, vedere Combinare le operazioni MATCH.

Per assegnare una variabile di query alla relazione, inserire il nome della variabile tra parentesi quadre ([]). I valori segnaposto indicati di seguito che devono essere sostituiti con i valori sono twin_or_twin_collection_1, relationship_variablee twin_or_twin_collection_2.

-- SELECT ... FROM ...   
MATCH (twin_or_twin_collection_1)-[relationship_variable]-(twin_or_twin_collection_2>) 
-- WHERE ...

Esempi

Nell'esempio seguente viene assegnata una variabile di query 'Rel' alla relazione. Successivamente, nella WHERE clausola viene usata la variabile per specificare che la relazione Rel deve avere una proprietà name con il valore 'child'.

SELECT Floor,Cafe, Rel DIGITALTWINS   
MATCH (Floor)-[Rel]-(Cafe)  
WHERE Floor.$dtId = 'thermostat-15' AND Rel.name = 'child'

Combinare le operazioni MATCH

È possibile combinare più condizioni di relazione nella stessa query. È anche possibile concatenare più condizioni di relazione per esprimere relazioni bidirezionali o altre combinazioni più grandi.

Sintassi

In una singola query è possibile combinare la direzione della relazione, il nome della relazione e un numero di hop o un'assegnazione di variabile di query.

Negli esempi di sintassi seguenti viene illustrato come combinare questi attributi. È anche possibile escludere uno dei dettagli facoltativi visualizzati nei segnaposto per omettere tale parte della condizione.

Per specificare la direzione della relazione, il nome della relazione e il numero di hop all'interno di una singola query, utilizzare la sintassi seguente all'interno della condizione della relazione. I valori segnaposto che devono essere sostituiti con i valori sono twin_or_twin_collection_1 e twin_or_twin_collection_2, optional_left_angle_bracket e relationship_name(s)optional_right_angle_bracket, e number_of_hops.

-- SELECT ... FROM ...
MATCH (twin_or_twin_collection_1)optional_left_angle_bracket-[:relationship_name(s)*number_of_hops]-optional_right_angle_bracket(twin_or_twin_collection_2)
-- WHERE

Per specificare la direzione della relazione, il nome della relazione e una variabile di query per la relazione all'interno di una singola query, utilizzare la sintassi seguente all'interno della condizione della relazione. I valori segnaposto che devono essere sostituiti con i valori sono twin_or_twin_collection_1 e twin_or_twin_collection_2, optional_left_angle_bracket e relationship_variableoptional_right_angle_bracket, e relationship_name(s).

-- SELECT ... FROM ...
MATCH (twin_or_twin_collection_1)optional_left_angle_bracket-[relationship_variable:relationship_name(s)]-optional_right_angle_bracket(twin_or_twin_collection_2)
-- WHERE

Nota

In base alle opzioni per specificare la direzione della relazione, è necessario scegliere tra una parentesi angolare sinistra per una relazione da sinistra a destra o una parentesi uncinata destra per una relazione da destra a sinistra. Non è possibile includere entrambe le relazioni sulla stessa freccia, ma possono rappresentare relazioni bidirezionali tramite concatenamento.

È possibile concatenare più condizioni di relazione, in questo modo. I valori segnaposto che devono essere sostituiti con i valori sono twin_or_twin_collection_1, tutte le istanze di relationship_conditione twin_or_twin_collection_2.

--Chained relationship conditions
-- SELECT ... FROM ... 
MATCH (twin_or_twin_collection_1)-[relationship_condition]-(twin_or_twin_collection_2)-[relationship_condition]-(twin_or_twin_collection_3)...
WHERE twin_or_twin_collection.$dtId = 'twin_ID'

Esempi

Ecco un esempio che combina la direzione della relazione, il nome della relazione e il numero di hop. La query seguente trova i gemelli Floor e Room in cui la relazione tra Floor e Room soddisfa queste condizioni:

  • la relazione è da sinistra a destra, con Floor come origine e Stanza come destinazione
  • la relazione ha il nome 'contains' o 'isAssociatedWith'
  • la relazione ha 4 o 5 hop

La query specifica inoltre che floor gemello ha un $dtId valore di "thermostat-15".

SELECT Floor, Room FROM DIGITALTWINS    
MATCH (Floor)-[:contains|isAssociatedWith*3..5]->(Room) 
WHERE Floor.$dtId = 'thermostat-15'

Ecco un esempio che combina la direzione della relazione, il nome della relazione e una variabile di query denominata per la relazione. La query seguente trova i gemelli Floor e Room in cui la relazione tra Floor e Room viene assegnata a una variabile r di query e soddisfa queste condizioni:

  • la relazione è da sinistra a destra, con Floor come origine e Stanza come destinazione
  • la relazione ha il nome 'contains' o 'isAssociatedWith'
  • la relazione, a cui viene assegnata una variabile rdi query , ha una proprietà length uguale a 10

La query specifica inoltre che floor gemello ha un $dtId valore di "thermostat-15".

SELECT Floor, Room FROM DIGITALTWINS    
MATCH (Floor)-[r:contains|isAssociatedWith]->(Room) 
WHERE Floor.$dtId = 'thermostat-15' AND r.length = 10

Nell'esempio seguente vengono illustrate le condizioni delle relazioni concatenati . La query trova i gemelli Floor, Cafe e Room, dove...

  • la relazione tra Floor e Room soddisfa queste condizioni:
    • la relazione è da sinistra a destra, con Floor come fonte e Cafe come destinazione
    • la relazione ha il nome 'contains' o 'isAssociatedWith'
    • la relazione, a cui è assegnata la variabile rdi query , ha una proprietà length uguale a 10
  • la relazione tra Cafe e Room soddisfa queste condizioni:
    • la relazione è da destra a sinistra, con Room come fonte e Cafe come destinazione
    • la relazione ha un nome di 'has' o 'includes'
    • la relazione ha fino a 3 (quindi 1, 2 o 3) hop

La query specifica inoltre che il piano gemello ha un $dtId valore di "thermostat-15" e twin Cafe ha una temperatura di 55.

SELECT Floor,Room, Cafe FROM DIGITALTWINS    
MATCH (Floor)-[r:contains|isAssociatedWith]->(Cafe)<-[has|includes*..3]-(Room)  
WHERE Floor.$dtId = 'thermostat-15'  AND r.length = 10 AND Cafe.temperature = 55

È anche possibile usare condizioni di relazione concatenati per esprimere relazioni bidirezionali. La query seguente trova i gemelli Floor, Room e Building, dove...

  • la relazione tra Building e Floor soddisfa queste condizioni:
    • la relazione è da sinistra a destra, con Building come origine e Floor come destinazione
    • la relazione ha il nome 'isAssociatedWith'
    • alla relazione viene assegnata una variabile di query r1
  • la relazione tra Floor e Room soddisfa queste condizioni:
    • la relazione è da destra a sinistra, con Room come origine e Floor come destinazione
    • la relazione ha il nome 'isAssociatedWith'
    • alla relazione viene assegnata una variabile di query r2

La query specifica inoltre che l'edificio gemello ha un $dtId valore "building-3" e Room ha una temperatura superiore a 50.

SELECT Floor, Room, Building FROM DIGITALTWINS    
MATCH (Building)-[r1:isAssociatedWith]->(Floor)<-[r2:isAssociatedWith]-(Room)
WHERE Building.$dtId = 'building-3'  AND Room.temperature > 50

Limiti

I limiti seguenti si applicano alle query che usano MATCH:

  • Per ogni istruzione di query è supportata una MATCH sola espressione.

  • $dtId è obbligatorio nella WHERE clausola .

  • L'assegnazione di una variabile di query alla relazione è supportata solo quando la query specifica un singolo hop.

  • Gli hop massimi supportati in una query sono 10.

  • Le query MATCH che contengono $dtId filtri su qualsiasi gemello diverso dal gemello iniziale per l'attraversamento MATCH possono mostrare risultati vuoti. Ad esempio, la query seguente è soggetta a questa limitazione:

    SELECT A, B, C FROM DIGITALTWINS 
    MATCH A-[contains]->B-[is_part_of]->C 
    WHERE B.$dtId = 'Device01'
    

    Se lo scenario richiede l'uso $dtId in altri dispositivi gemelli, prendere in considerazione l'uso della clausola JOIN.

  • Le query MATCH che attraversano più volte lo stesso gemello possono rimuovere in modo imprevisto questo gemello dai risultati.