Я пытался настроить довольно большой запрос, в котором есть выборка, которая должна возвращать столбец group_concat (inated), который должен содержать ровно 4 конкатных (inated) результата, которые являются результатом более крупного запроса.
Я покажу выбор, чтобы устранить любую путаницу (надеюсь):
# Group the local category_feature_product.id, local feature value -
# and external feature value for the product together.
GROUP_CONCAT(
CONCAT(cfpt.category_feature_product_id, '||', pcfpt.category_feature_product_id, '||', cfpt.value, '||', pcfpt.value)
SEPARATOR ';'
) AS mysql_category_feature_products
Я ожидаю, что приведенный выше запрос всегда будет возвращать 4 результата, могут ли в нем быть нули или нет, но иногдатолько возвращает 3 или 2 результата для group_concat.(то есть: 273458||2658774||5
возвращается).
Как я могу убедиться, что по крайней мере ВСЕГДА возвращается ноль?Я мог бы показать большой запрос, если это необходимо.
- ОБНОВЛЕНИЕ -
При этом полный запрос, пример действительных данных, фактический результат и ожидаемый результат согласно запросу.
Полный запрос:
Я собираюсь отфильтровать результаты до одного продукта, так как есть десятки тысяч результатов.Я также буду использовать только столбец mysql_category_feature_products
.
Фактический результат (обратите внимание на последнюю строку):
Ожидаемый результат (обратите внимание на последнюю строку) и пример действительных данных:
- ОБНОВЛЕНО (СНОВА) -
Фактический ожидаемый результат для последней строки не является 250258||2583482||null||6
НО 250258||2583482||47||67
не нулевым, мой плохой.
Повторный запрос с новым ifnullоператор возвращает другой результат для последней строки: 250258||2583482||4
вместо 250258||2583482||6