2017-03-10 2 views
0

とDISTINCT使用することができますが、私はこのようになります配列を持っていると言う:これはAlaSQLは、検索

alasql('SEARCH /categories/categoryValue WHERE(categoryName="belt") FROM ?', [data]);

 
var data = [{ 
    "categories": [{ 
    "categoryName": "‌belt‌", 
    "categoryValue": "‌white‌" 
    }, {"categoryName": "‌level‌", "categoryValue": "‌Beginner‌"}, { 
    "categoryName": "‌type‌", 
    "categoryValue": "‌technique‌" 
    }], "id": 1, "skillName": "‌Beginner 1‌", "skips": 0, "weight": 1 
}, { 
    "categories": [{"categoryName": "‌belt‌", "categoryValue": "‌white‌"}, { 
    "categoryName": "‌level‌", 
    "categoryValue": "‌Beginner‌" 
    }, {"categoryName": "‌type‌", "categoryValue": "‌technique‌"}], 
    "id": 2, 
    "skillName": "‌Beginner 2‌", 
    "skips": 0, 
    "weight": 1 
}, { 
    "categories": [{"categoryName": "‌belt‌", "categoryValue": "‌white‌"}, { 
    "categoryName": "‌level‌", 
    "categoryValue": "‌Beginner‌" 
    }, {"categoryName": "‌type‌", "categoryValue": "‌technique‌"}], 
    "id": 3, 
    "skillName": "‌Beginner 3‌", 
    "skips": 0, 
    "weight": 1 
}, { 
    "categories": [{"categoryName": "‌belt‌", "categoryValue": "‌white‌"}, { 
    "categoryName": "‌level‌", 
    "categoryValue": "‌Beginner‌" 
    }, {"categoryName": "‌type‌", "categoryValue": "‌technique‌"}], 
    "id": 4, 
    "skillName": "‌Beginner 4‌", 
    "skips": 0, 
    "weight": 1 
}, { 
    "categories": [{"categoryName": "‌belt‌", "categoryValue": "‌white‌"}, { 
    "categoryName": "‌level‌", 
    "categoryValue": "‌Beginner‌" 
    }, {"categoryName": "‌type‌", "categoryValue": "‌technique‌"}], 
    "id": 5, 
    "skillName": "‌Beginner 5‌", 
    "skips": 0, 
    "weight": 1 
}, 
... 
{ 
    "categories": [{"categoryName": "‌belt‌", "categoryValue": "‌orange‌"}, { 
    "categoryName": "‌level‌", 
    "categoryValue": "‌Intermediate‌" 
    }, {"categoryName": "‌type‌", "categoryValue": "‌technique‌"}], 
    "id": 13, 
    "skillName": "‌Intermediate 3‌", 
    "skips": 0, 
    "weight": 1 
}, { 
    "categories": [{"categoryName": "‌belt‌", "categoryValue": "‌orange‌"}, { 
    "categoryName": "‌level‌", 
    "categoryValue": "‌Intermediate‌" 
    }, {"categoryName": "‌type‌", "categoryValue": "‌technique‌"}], 
    "id": 14, 
    "skillName": "‌Intermediate 4‌", 
    "skips": 0, 
    "weight": 1 
}, { 
    "categories": [{"categoryName": "‌belt‌", "categoryValue": "‌orange‌"}, { 
    "categoryName": "‌level‌", 
    "categoryValue": "‌Intermediate‌" 
    }, {"categoryName": "‌type‌", "categoryValue": "‌technique‌"}], 
    "id": 15, 
    "skillName": "‌Intermediate 5‌", 
    "skips": 0, 
    "weight": 1 
}, { 
    "categories": [{"categoryName": "‌belt‌", "categoryValue": "‌purple‌"}, { 
    "categoryName": "‌level‌", 
    "categoryValue": "‌Intermediate‌" 
    }, {"categoryName": "‌type‌", "categoryValue": "‌technique‌"}], 
    "id": 16, 
    "skillName": "‌Intermediate 6‌", 
    "skips": 0, 
    "weight": 1 
} 
... 
] 

は何かのように、我々はこれを照会するとしましょうおそらくあなたのようなものを与えるつもりです:

['white', 'white', 'white',...'orange', 'orange',...'purple'...]

は何がしたいです

['white', 'orange', 'purple']

クエリ側でこれを実行する方法はありますか、私はそれが戻った後だけのユニークな値のためにそれをフィルタリングする必要がありますか?

答えて

0

this testthis test(ライン85)によれば、構文は次のようになります

alasql('SEARCH DISTINCT(/categories/ WHERE (categoryName="belt") categoryValue) FROM ?', [data]);