public function mysqlQueryNot($tableName)
 {
     if (!$this->hasColumn("array", $this->path)) {
         return "1 /* " . JsonStoreSearch::$INCOMPLETE_TAG . ": can't check array items at {$this->path} */";
     }
     $columnName = "array" . $this->path;
     $parentConfig = $this->config;
     $itemSchema = $this->values;
     $arrayConfig = $parentConfig['columns'][$columnName];
     $subSearch = new JsonStoreSearch($arrayConfig, $itemSchema, "");
     $subTable = new JsonStoreQueryConstructor($arrayConfig['table'], $tableName . "_items");
     $subSql = $subSearch->mysqlQueryNot($subTable);
     $joinOn = $subSearch->tableColumn($subTable, "group") . " = " . $this->tableColumn($tableName, $arrayConfig['parentColumn']);
     $joinOn .= " AND " . $subSql;
     if (isset($arrayConfig['parentColumn'])) {
         $tableName->addLeftJoin($subTable, $joinOn);
     } else {
         $tableName->addLeftJoin($subTable, $joinOn);
     }
     return $subSearch->tableColumn($subTable, "group") . " IS NOT NULL";
 }