<!DOCTYPE html>
<html>

  <head>
    <script src="https://cdn.jsdelivr.net/alasql/0.3.1/alasql.min.js" data-require="alasql@0.3.1" data-semver="0.3.1"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js" data-require="jquery@3.1.1" data-semver="3.1.1"></script>
    <link href="style.css" rel="stylesheet" />
    <script src="script.js"></script>
  </head>

  <body>
    <div>
    <label>Source JSON:
            <textarea name="json_src" id="json_src" rows="30" cols="50">
[{
  "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": "belt", "categoryValue": "technique"}],
  "id": 5,
  "skillName": "Beginner 5",
  "skips": 0,
  "weight": 1
}, {
  "categories": [{"categoryName": "belt", "categoryValue": "white"}, {
    "categoryName": "level",
    "categoryValue": "Beginner"
  }, {"categoryName": "type", "categoryValue": "technique"}],
  "id": 6,
  "skillName": "Beginner 6",
  "skips": 0,
  "weight": 1
}, {
  "categories": [{"categoryName": "belt", "categoryValue": "white"}, {
    "categoryName": "level",
    "categoryValue": "Beginner"
  }, {"categoryName": "type", "categoryValue": "technique"}],
  "id": 7,
  "skillName": "Beginner 7",
  "skips": 0,
  "weight": 1
}, {
  "categories": [{"categoryName": "belt", "categoryValue": "white"}, {
    "categoryName": "level",
    "categoryValue": "Beginner"
  }, {"categoryName": "type", "categoryValue": "technique"}],
  "id": 8,
  "skillName": "Beginner 8",
  "skips": 0,
  "weight": 1
}, {
  "categories": [{"categoryName": "belt", "categoryValue": "white"}, {
    "categoryName": "level",
    "categoryValue": "Beginner"
  }, {"categoryName": "type", "categoryValue": "technique"}],
  "id": 9,
  "skillName": "Beginner 9",
  "skips": 0,
  "weight": 1
}, {
  "categories": [{"categoryName": "belt", "categoryValue": "white"}, {
    "categoryName": "level",
    "categoryValue": "Beginner"
  }, {"categoryName": "type", "categoryValue": "technique"}],
  "id": 10,
  "skillName": "Beginner 10",
  "skips": 0,
  "weight": 1
}, {
  "categories": [{"categoryName": "belt", "categoryValue": "orange"}, {
    "categoryName": "level",
    "categoryValue": "Intermediate"
  }, {"categoryName": "type", "categoryValue": "technique"}],
  "id": 11,
  "skillName": "Intermediate 1",
  "skips": 0,
  "weight": 1
}, {
  "categories": [{"categoryName": "belt", "categoryValue": "orange"}, {
    "categoryName": "level",
    "categoryValue": "Intermediate"
  }, {"categoryName": "type", "categoryValue": "technique"}],
  "id": 12,
  "skillName": "Intermediate 2",
  "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
}, {
  "categories": [{"categoryName": "belt", "categoryValue": "purple"}, {
    "categoryName": "level",
    "categoryValue": "Intermediate"
  }, {"categoryName": "type", "categoryValue": "technique"}],
  "id": 17,
  "skillName": "Intermediate 7",
  "skips": 0,
  "weight": 1
}, {
  "categories": [{"categoryName": "belt", "categoryValue": "purple"}, {
    "categoryName": "level",
    "categoryValue": "Intermediate"
  }, {"categoryName": "type", "categoryValue": "technique"}],
  "id": 18,
  "skillName": "Intermediate 8",
  "skips": 0,
  "weight": 1
}, {
  "categories": [{"categoryName": "belt", "categoryValue": "purple"}, {
    "categoryName": "level",
    "categoryValue": "Intermediate"
  }, {"categoryName": "type", "categoryValue": "technique"}],
  "id": 19,
  "skillName": "Intermediate 9",
  "skips": 0,
  "weight": 1
}, {
  "categories": [{"categoryName": "belt", "categoryValue": "purple"}, {
    "categoryName": "level",
    "categoryValue": "Intermediate"
  }, {"categoryName": "type", "categoryValue": "technique"}],
  "id": 20,
  "skillName": "Intermediate 10",
  "skips": 0,
  "weight": 2
}, {
  "categories": [{"categoryName": "belt", "categoryValue": "blue"}, {
    "categoryName": "level",
    "categoryValue": "Intermediate"
  }, {"categoryName": "type", "categoryValue": "technique"}],
  "id": 21,
  "skillName": "Intermediate 11",
  "skips": 0,
  "weight": 2
}, {
  "categories": [{"categoryName": "belt", "categoryValue": "blue"}, {
    "categoryName": "level",
    "categoryValue": "Intermediate"
  }, {"categoryName": "type", "categoryValue": "technique"}],
  "id": 22,
  "skillName": "Intermediate 12",
  "skips": 0,
  "weight": 2
}, {
  "categories": [{"categoryName": "belt", "categoryValue": "blue"}, {
    "categoryName": "level",
    "categoryValue": "Intermediate"
  }, {"categoryName": "type", "categoryValue": "technique"}],
  "id": 23,
  "skillName": "Intermediate 13",
  "skips": 0,
  "weight": 2
}, {
  "categories": [{"categoryName": "belt", "categoryValue": "blue"}, {
    "categoryName": "level",
    "categoryValue": "Intermediate"
  }, {"categoryName": "type", "categoryValue": "technique"}],
  "id": 24,
  "skillName": "Intermediate 14",
  "skips": 0,
  "weight": 2
}, {
  "categories": [{"categoryName": "belt", "categoryValue": "blue"}, {
    "categoryName": "level",
    "categoryValue": "Intermediate"
  }, {"categoryName": "type", "categoryValue": "technique"}],
  "id": 25,
  "skillName": "Intermediate 15",
  "skips": 0,
  "weight": 2
}, {
  "categories": [{"categoryName": "belt", "categoryValue": "green"}, {
    "categoryName": "level",
    "categoryValue": "Advanced"
  }, {"categoryName": "type", "categoryValue": "technique"}],
  "id": 26,
  "skillName": "Advanced 1",
  "skips": 0,
  "weight": 3
}, {
  "categories": [{"categoryName": "belt", "categoryValue": "green"}, {
    "categoryName": "level",
    "categoryValue": "Advanced"
  }, {"categoryName": "type", "categoryValue": "technique"}],
  "id": 27,
  "skillName": "Advanced 2",
  "skips": 0,
  "weight": 3
},
  {
    "categories": [{"categoryName": "belt", "categoryValue": "green"}, {
      "categoryName": "level",
      "categoryValue": "Advanced"
    }, {"categoryName": "type", "categoryValue": "technique"}],
    "id": 28,
    "skillName": "Advanced 3",
    "skips": 0,
    "weight": 3
  }, {
    "categories": [{"categoryName": "belt", "categoryValue": "green"}, {
      "categoryName": "level",
      "categoryValue": "Advanced"
    }, {"categoryName": "type", "categoryValue": "technique"}],
    "id": 29,
    "skillName": "Advanced 4",
    "skips": 0,
    "weight": 3
  }, {
    "categories": [{"categoryName": "belt", "categoryValue": "green"}, {
      "categoryName": "level",
      "categoryValue": "Advanced"
    }, {"categoryName": "type", "categoryValue": "technique"}],
    "id": 30,
    "skillName": "Advanced 5",
    "skips": 0,
    "weight": 3
  }, {
    "categories": [{"categoryName": "belt", "categoryValue": "brown"}, {
      "categoryName": "level",
      "categoryValue": "Advanced"
    }, {"categoryName": "type", "categoryValue": "technique"}],
    "id": 31,
    "skillName": "Advanced 6",
    "skips": 0,
    "weight": 4
  }, {
    "categories": [{"categoryName": "belt", "categoryValue": "brown"}, {
      "categoryName": "level",
      "categoryValue": "Advanced"
    }, {"categoryName": "type", "categoryValue": "technique"}],
    "id": 32,
    "skillName": "Advanced 7",
    "skips": 0,
    "weight": 4
  },
  {
    "categories": [{"categoryName": "belt", "categoryValue": "brown"}, {
      "categoryName": "level",
      "categoryValue": "Advanced"
    }, {"categoryName": "type", "categoryValue": "technique"}],
    "id": 33,
    "skillName": "Advanced 8",
    "skips": 0,
    "weight": 4
  }, {
    "categories": [{"categoryName": "belt", "categoryValue": "brown"}, {
      "categoryName": "level",
      "categoryValue": "Advanced"
    }, {"categoryName": "type", "categoryValue": "technique"}],
    "id": 34,
    "skillName": "Advanced 9",
    "skips": 0,
    "weight": 4
  }, {
    "categories": [{"categoryName": "belt", "categoryValue": "brown"}, {
      "categoryName": "level",
      "categoryValue": "Advanced"
    }, {"categoryName": "type", "categoryValue": "technique"}],
    "id": 35,
    "skillName": "Advanced 10",
    "skips": 0,
    "weight": 4
  }, {
    "categories": [{"categoryName": "belt", "categoryValue": "brown-black"}, {
      "categoryName": "level",
      "categoryValue": "Advanced"
    }, {"categoryName": "type", "categoryValue": "technique"}],
    "id": 36,
    "skillName": "Advanced 11",
    "skips": 0,
    "weight": 5
  },
  {
    "categories": [{"categoryName": "belt", "categoryValue": "brown-black"}, {
      "categoryName": "level",
      "categoryValue": "Advanced"
    }, {"categoryName": "type", "categoryValue": "technique"}],
    "id": 37,
    "skillName": "Advanced 12",
    "skips": 0,
    "weight": 5
  }, {
    "categories": [{"categoryName": "belt", "categoryValue": "brown-black"}, {
      "categoryName": "level",
      "categoryValue": "Advanced"
    }, {"categoryName": "type", "categoryValue": "technique"}],
    "id": 38,
    "skillName": "Advanced 13",
    "skips": 0,
    "weight": 5
  }, {
    "categories": [{"categoryName": "belt", "categoryValue": "brown-black"}, {
      "categoryName": "level",
      "categoryValue": "Advanced"
    }, {"categoryName": "type", "categoryValue": "technique"}],
    "id": 39,
    "skillName": "Advanced 14",
    "skips": 0,
    "weight": 5
  }, {
    "categories": [{"categoryName": "belt", "categoryValue": "brown-black"}, {
      "categoryName": "level",
      "categoryValue": "Advanced"
    }, {"categoryName": "type", "categoryValue": "technique"}],
    "id": 40,
    "skillName": "Advanced 15",
    "skips": 0,
    "weight": 5
  },
  {
    "categories": [{"categoryName": "belt", "categoryValue": "white"}, {
      "categoryName": "level",
      "categoryValue": "Beginner"
    }, {"categoryName": "type", "categoryValue": "form"}],
    "id": 41,
    "skillName": "Short 0",
    "skips": 0,
    "weight": 1
  }, {
    "categories": [{"categoryName": "belt", "categoryValue": "white"}, {
      "categoryName": "level",
      "categoryValue": "Beginner"
    }, {"categoryName": "type", "categoryValue": "form"}],
    "id": 42,
    "skillName": "Short 1",
    "skips": 0,
    "weight": 1
  },
  {
    "categories": [{"categoryName": "belt", "categoryValue": "purple"}, {
      "categoryName": "level",
      "categoryValue": "Intermediate"
    }, {"categoryName": "type", "categoryValue": "form"}],
    "id": 43,
    "skillName": "Short 2",
    "skips": 0,
    "weight": 3
  }, {
    "categories": [{"categoryName": "belt", "categoryValue": "blue"}, {
      "categoryName": "level",
      "categoryValue": "Intermediate"
    }, {"categoryName": "type", "categoryValue": "form"}],
    "id": 44,
    "skillName": "Short 3",
    "skips": 0,
    "weight": 3
  },
  {
    "categories": [{"categoryName": "belt", "categoryValue": "orange"}, {
      "categoryName": "level",
      "categoryValue": "Intermediate"
    }, {"categoryName": "type", "categoryValue": "form"}],
    "id": 45,
    "skillName": "Long 1",
    "skips": 0,
    "weight": 4
  }, {
    "categories": [{"categoryName": "belt", "categoryValue": "white"}, {
      "categoryName": "level",
      "categoryValue": "Beginner"
    }, {"categoryName": "type", "categoryValue": "form"}],
    "id": 46,
    "skillName": "Stance Set 1",
    "skips": 0,
    "weight": 2
  }, {
    "categories": [{"categoryName": "belt", "categoryValue": "brown"}, {
      "categoryName": "level",
      "categoryValue": "Advanced"
    }, {"categoryName": "type", "categoryValue": "form"}],
    "id": 47,
    "skillName": "Stance Set 2",
    "skips": 0,
    "weight": 4
  }, {
    "categories": [{"categoryName": "belt", "categoryValue": "white"}, {
      "categoryName": "level",
      "categoryValue": "Beginner"
    }, {"categoryName": "type", "categoryValue": "form"}],
    "id": 48,
    "skillName": "Blocking Set",
    "skips": 0,
    "weight": 1
  }, {
    "categories": [{"categoryName": "belt", "categoryValue": "white"}, {
      "categoryName": "level",
      "categoryValue": "Beginner"
    }, {"categoryName": "type", "categoryValue": "form"}],
    "id": 49,
    "skillName": "Star Blocks",
    "skips": 0,
    "weight": 1
  }, {
    "categories": [{"categoryName": "belt", "categoryValue": "white"}, {
      "categoryName": "level",
      "categoryValue": "Beginner"
    }, {"categoryName": "type", "categoryValue": "form"}],
    "id": 50,
    "skillName": "Triple Ridge Hand Set",
    "skips": 0,
    "weight": 1
  },
  {
    "categories": [{"categoryName": "belt", "categoryValue": "purple"}, {
      "categoryName": "level",
      "categoryValue": "Intermediate"
    }, {"categoryName": "type", "categoryValue": "form"}],
    "id": 51,
    "skillName": "Striking Set",
    "skips": 0,
    "weight": 2
  },
  {
    "categories": [{"categoryName": "belt", "categoryValue": "purple"}, {
      "categoryName": "level",
      "categoryValue": "Intermediate"
    }, {"categoryName": "type", "categoryValue": "form"}],
    "id": 52,
    "skillName": "Double Ram",
    "skips": 0,
    "weight": 3
  },
  {
    "categories": [{"categoryName": "belt", "categoryValue": "green"}, {
      "categoryName": "level",
      "categoryValue": "Advanced"
    }, {"categoryName": "type", "categoryValue": "form"}],
    "id": 53,
    "skillName": "Staff Set",
    "skips": 0,
    "weight": 3
  }, {
    "categories": [{"categoryName": "belt", "categoryValue": "brown"}, {
      "categoryName": "level",
      "categoryValue": "Advanced"
    }, {"categoryName": "type", "categoryValue": "form"}],
    "id": 54,
    "skillName": "Book Set",
    "skips": 0,
    "weight": 3
  }, {
    "categories": [{"categoryName": "belt", "categoryValue": "brown-black"}, {
      "categoryName": "level",
      "categoryValue": "Advanced"
    }, {"categoryName": "type", "categoryValue": "form"}],
    "id": 55,
    "skillName": "Black Belt Set",
    "skips": 0,
    "weight": 4
  }, {
    "categories": [{"categoryName": "belt", "categoryValue": "orange"}, {
      "categoryName": "level",
      "categoryValue": "Intermediate"
    }, {"categoryName": "type", "categoryValue": "sparring"}],
    "id": 56,
    "skillName": "Jammers Backknuckle",
    "skips": 0,
    "weight": 1
  }, {
    "categories": [{"categoryName": "belt", "categoryValue": "purple"}, {
      "categoryName": "level",
      "categoryValue": "Intermediate"
    }, {"categoryName": "type", "categoryValue": "sparring"}],
    "id": 57,
    "skillName": "Jammers 1-2-3",
    "skips": 0,
    "weight": 2
  }, {
    "categories": [{"categoryName": "belt", "categoryValue": "blue"}, {
      "categoryName": "level",
      "categoryValue": "Intermediate"
    }, {"categoryName": "type", "categoryValue": "sparring"}],
    "id": 58,
    "skillName": "Blockers",
    "skips": 0,
    "weight": 2
  }, {
    "categories": [{"categoryName": "belt", "categoryValue": "green"}, {
      "categoryName": "level",
      "categoryValue": "Advanced"
    }, {"categoryName": "type", "categoryValue": "sparring"}],
    "id": 59,
    "skillName": "Runners",
    "skips": 0,
    "weight": 3
  }]
            </textarea>
    </label></div>
    <div>
    <label>
      AlaSQL SEARCH:
      <textarea id="alasearch" cols="50" rows="4"  >
SEARCH / as @skill categories/ WHERE (categoryName='belt') AND (categoryValue='green') FROM ?
      </textarea>
    </label>
    <button type="button" id="dosearch">Run AlaSQL SEARCH</button></div>
    <div id="result"></div>
  <script type="text/javascript">
    $(document).ready(
      function() {
        $('#dosearch').click(
          function(){
            var result=alasql($('#alasearch').val(), [JSON.parse($('#json_src').val())]);
            result = '<pre>'+JSON.stringify(result, null, ' ')+'</pre>'
            $('#result').html(result);
          }
        )
      }
    )
  </script>
  </body>

</html>
label {
  display:block;
}
textarea, input {
  vertical-align:top;
  margin-bottom:.5em;
}
#result {
  width:400px;
  background-color: #FFC;
}
AlaSQL JSON SEARCH playground