Здравствуйте
Такой запрос отлично работает:
CODE ( SQL):
скопировать код в буфер обмена
SELECT CASE WHEN (SELECT `categories`.`class_id` FROM `categories` WHERE `categories`.`cat_url`='/patch/to/page/') THEN (SELECT `classes`.`class_file` FROM `classes`, `categories` WHERE `classes`.`class_id`=`categories`.`class_id` AND `categories`.`cat_url`='/patch/to/page/') ELSE (SELECT `classes`.`class_file` FROM `classes` WHERE `classes`.`class_id`=4) END
Но когда пытаюсь вытащить не одно поле `classes`.`class_file`, а два: `classes`.`class_file` и `classes`.`class_name` вылезает ошибка о количестве столбцов
Получается такой запрос:
CODE ( SQL):
скопировать код в буфер обмена
SELECT CASE WHEN (SELECT `categories`.`class_id` FROM `categories` WHERE `categories`.`cat_url`='/patch/to/page/') THEN (SELECT `classes`.`class_file`,`classes`.`class_name` FROM `classes`, `categories` WHERE `classes`.`class_id`=`categories`.`class_id` AND `categories`.`cat_url`='/patch/to/page/') ELSE (SELECT `classes`.`class_file`,`classes`.`class_name` FROM `classes` WHERE `classes`.`class_id`=4) END
На сайте ЧПУ
Структура таблиц:
Нажмите для увеличения
![](printfile.php?action=link&img=http://i.imgur.com/Ibmmscd.png)
То есть, алгоритм примерно такой:
Нажмите для увеличения
![](printfile.php?action=link&img=http://i.imgur.com/a6MVGVe.png)
Подскажите, пожалуйста, как вытащить 2 поля `classes`.`class_file` и `classes`.`class_name` по алгоритму, описанному выше
|