Как мне создать MySQL динамически без пересечения и объединения, которое имитирует логику «или» и «и»?

#mysql #logic #intersect

#mysql #Логические #пересекаться

Вопрос:

У меня есть база данных, таблицы которой представляют собой фильтры транспортных средств, и они заполнены идентификаторами транспортных средств. Я должен сделать один запрос в базу данных из массива ,который выглядит примерно так [[седан, кабриолет], [автоматический], [электрический]]. Это означает, что мне нужен седан ИЛИ кабриолет, А также автоматический И электрический. У меня был этот код

 /*  from a 2d array, creates a SQL query with the desired logic: each inner array is combined with 'or' logic, then they are combined with 'and' logic.   */  let tempQuery = "";  let sqlQuery = "";    for (let i = 0; i lt; filter2D.length; i  ) {   tempQuery = "";;     for (let j = 0; j lt; filter2D[i].length; j  ) {    tempQuery  = ` SELECT filter_${filters2DName[i][j]}.vehicle_id FROM filter_${filters2DName[i][j]}`    if (j lt; filter2D[i].length - 1) {  tempQuery  = ' UNION';  }  }  sqlQuery  = ' ('   tempQuery   ' )';  if (i lt; filter2D.length - 1) {  sqlQuery  = ' INTERSECT';  }   }   

что сработало хорошо, но теперь я перейду в MySQL, и INTERSECT не поддерживается, и я не уверен, что это лучший способ продолжить. Есть ли способ спасти этот код здесь?

Спасибо.