Nehmen Sie die folgende Dokumentstruktur für Beispiel, wo ich ein SELECT ... WHERE Feld IN (Werte) in Drill.Apache Drill Abfrage Mongo-Array Feldtyp mit IN() -Operator
{ "CD_MATRICULA" : 12,
"USUARIO" : {
"ID_SITUACAO" : 1,
"PUBLICOALVO" : [ 84,85,86,87,88,89 ]
}
},
{ "CD_MATRICULA" : 14,
"USUARIO" : {
"ID_SITUACAO" : 1,
"PUBLICOALVO" : [ 90,91,92,93,94 ]
}
},
{ "CD_MATRICULA" : 122,
"USUARIO" : {
"ID_SITUACAO" : 0,
"PUBLICOALVO" : [ 20,300,400,500,600 ]
}
}
Um Dokumente von USUARIO.PUBLICOALVO Wert zu finden, kann ich die Mongo Abfrage, die folgt:
db.getCollection('xxx').find({'USUARIO.PUBLICOALVO': {$in: [ 84, 85, 90, 94, 500 ]}})
es funktioniert gut, alle Dokumente von IN() comparsion von Listen zurück.
Aber, wenn ich versuche, die gleiche Mongo Abfrage in SQL von DRILL auszuführen, muss ich dies:
SELECT * FROM xxx WHERE xxx.USUARIO.PUBLICOALVO IN(84, 85, 90, 94, 500);
Aber diese Abfrage fehlschlägt, mit der Meldung:
Error in expression at index -1. Error: Missing function implementation: [equal(INT-REPEATED, INT-REQUIRED)]. Full expression: --UNKNOWN EXPRESSION--.
Wie kann ich schreibe diesen König von Filter IN() in der Drill-SQL-Syntax?
Dank viel