Say I have an array that looks like this:
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 } ... ]
Let's say that we want to query this, something like:
alasql('SEARCH /categories/categoryValue WHERE(categoryName="belt") FROM ?', [data]);
This is probably going to give you something like:
['white', 'white', 'white',...'orange', 'orange',...'purple'...]
What I'd like is:
['white', 'orange', 'purple']
Is there any way to do this on the query side, or do I need to just filter it for unique values after it returns?
According to this test and this test (line 85), the syntax should be:
alasql('SEARCH DISTINCT(/categories/ WHERE (categoryName="belt") categoryValue) FROM ?', [data]);