Я работаю с PHP, и я сделал этот код: `Объединить несколько запросов SQL результаты
$categories = array('casual','dinner', 'kids');
$numberOfCategories = count($categories);
for ($i=0; $i < $numberOfCategories; $i++) {
$req = $pdo->query('
SELECT ProductID
, ProductCategoryID
FROM products
WHERE ProductCategoryID LIKE "%'.$categories[$i].'%"
');
while (${"relatedProduct" . $i} = $req->fetch()) {
var_dump(${"relatedProduct" . $i});
}
}
`
После запуска кода я получил следующий результат:
Если вы посмотрите на это внимательно, вы заметите, что некоторые продукты повторяют их самостоятельно (что нормально).
То, что я хочу сделать сейчас его объединить результат каждого цикла, хранящегося в переменной ${"relatedProduct" . $i}
и фильтровать этот результат (результат после объединения результатов каждого цикла), чтобы избежать повторения продуктов, основанных на колонке ProductID
Пожалуйста, помогите мне решить эту проблему.
Как/почему ProductCategoryID список разделенных запятой ??? – Strawberry
Есть ли вероятность, что вы можете реорганизовать свою БД? Просто создайте 'ProductCategory (ProductID, категория)' таблицу и пусть СУБД сделать работу с надлежащим запросом, – Serg
А как «% что-то%» запроса в цикле? это убийца базы данных. Как мне предложили другие, вам нужно переосмыслить дизайн своей базы данных. – e4c5