есть такой запрос
'SELECT MAX('.SPH_DBPREFIX.'subcategory.position)
AS `max`, '.SPH_DBPREFIX.'category.name
FROM '.SPH_DBPREFIX.'subcategory
JOIN '.SPH_DBPREFIX.'category
ON '.SPH_DBPREFIX.'category.id = "'.$form.'"'
Этот запрос вытаскивает максимальное значение + достает имя категории, в какую добавляется данная подкатегория. Вопрос собственно такой, все ништяк, но если подкатегорий к данной категории нет, то ничего не возвращается, хотя должно вернуть имя категории.
собственно я думаю, если MAX() возвращает ноль, то имя тоже не возвращется.
Как осуществить так, чтобы имя в любом случае возвращалось?
Спустя 7 минут, 10 секунд (12.02.2012 - 14:10) caballero написал(а):
А группировку Пушкин указывать будет?
Спустя 12 минут, 55 секунд (12.02.2012 - 14:23) Placido написал(а):
Поставьте RIGHT JOIN вместо JOIN (это эквивалентно INNER JOIN).
Спустя 3 минуты, 59 секунд (12.02.2012 - 14:27) nugle написал(а):
caballero
попробовал так, результат тот же
Placido, спасибо)
попробовал так, результат тот же
'SELECT MAX('.SPH_DBPREFIX.'subcategory.position)
AS `max`, '.SPH_DBPREFIX.'category.name
FROM '.SPH_DBPREFIX.'subcategory
JOIN '.SPH_DBPREFIX.'category
ON '.SPH_DBPREFIX.'category.id = "'.$form.'"
GROUP BY '.SPH_DBPREFIX.'category.name'
Placido, спасибо)
Спустя 3 часа, 48 минут, 32 секунды (12.02.2012 - 18:15) ИНСИ написал(а):
nugle попробуй так:
либо так:
SELECT MAX(" . SPH_DBPREFIX . "`s`.`position`) AS `max`, " . SPH_DBPREFIX . "`c`.`name`
FROM " . SPH_DBPREFIX . "`category` AS `c`
LEFT JOIN " . SPH_DBPREFIX . "`subcategory` AS `s`
WHERE `c`.`id` = ".(int)$form."
либо так:
SELECT (SELECT `pisition` FROM " . SPH_DBPREFIX . "`subcategory` ORDER BY `pisition` DESC LIMIT 1) AS `max`, " . SPH_DBPREFIX . "`name`
FROM " . SPH_DBPREFIX . "`category`
WHERE `id` = ".(int)$form."
Спустя 5 минут, 15 секунд (12.02.2012 - 18:21) nugle написал(а):
INSIDIOUS
да я уже давно решил проблему)
да я уже давно решил проблему)
Спустя 2 минуты, 4 секунды (12.02.2012 - 18:23) ИНСИ написал(а):
nugle а как решил? Мой вариант не пробывал?
Спустя 4 минуты, 25 секунд (12.02.2012 - 18:27) nugle написал(а):
INSIDIOUS
через RIGHT JOIN, да а смысла нет, так как базу засорять не хочу. Заполнил ее уже
через RIGHT JOIN, да а смысла нет, так как базу засорять не хочу. Заполнил ее уже