2017-08-31 6 views
1

で使用する純粋な配列を返すために、私は次のオブジェクト(複数可)についてどの副選択

SELECT RAW ARRAY_AGG(list.id) 
FROM default list 
WHERE list.type="list" 
AND "*" IN list.supported 

ようN1QLクエリました:

{ 
    "type": "list", 
    "id": "*", 
    "name": "Everything", 
    "listCount": 2, 
    "supported": [ 
    "*", 
    "test" 
    ] 
} 

問題は、今では、私だろうと常に結果として二重の配列を取得:

[ 
    [ 
    "*", 
    "test" 
    ] 
] 

どのように私は今二重の結果として、配列またはそれを防ぐことができますどのように私は、次の副選択(アル中でこの結果を使用します方法だけで空の配列を返します):サーバーは

SELECT * 
FROM default server 
WHERE server.type="server" AND ANY listId IN supportedLists SATISFIES 
listId in 

(SELECT RAW ARRAY_AGG(list.id) 
FROM default list 
WHERE list.type="list" 
AND "*" IN list.supported) 

END; 

です:

{ 
    "type": "server", 
    "id": "AAABBBCCC", 
    "supportedLists": [ 
    "0", 
    "1" 
    ], 
} 

選択

SELECT * 
FROM default server 
WHERE server.type="server" AND ANY listId IN supportedLists SATISFIES 
listId in 

["test", "other features"] 

END; 

作品罰金...だから私の問題はdefinetly副選択

です

私がアーカイブしたいのは、リストをサポートしているサーバのリスト(フィールドsupportedList)をすべてのlisのために持つことです同じ問題を持つ人のための機能 "テスト"(フィールドがサポートされている)

答えて

関連する問題