Mysql: вытягивание из таблицы - PullRequest
0 голосов
/ 18 октября 2011

У меня возникли проблемы при составлении запроса. Мне нужно показать изображения в том порядке, в котором они находятся в разделе «редакция», и, если у них есть порядок отображения, сначала будет показано изображение редакции, но если его не упорядочить в этом разделе, оно будет просто использоваться по умолчанию обычное изображение, которое уже упорядочено (которое может не являться изображением редакционного типа, но является предпочтительным, если больше ничего не доступно). Теперь у меня есть запрос ниже, НО, который сначала не тянет ранжированные изображения редакционных статей, а, скорее всего, «order_by» имеет приоритет.

SELECT i.img_name, a.artist_path_name, a.artist_dir, a.artist_name, ck.catKey_id        
FROM images AS i JOIN artists AS a USING (artist_id)
JOIN img_cat_table AS imc USING ( img_id )
JOIN catkeys AS ck USING (catKey_id)
WHERE site = 'editorial' AND editorial_order = 1 OR ordered_by = 1 GROUP BY artist_name ORDER BY ed_banner

Это, наверное, что-то глупое, что я скучаю - любая помощь приветствуется.

Ответы [ 2 ]

1 голос
/ 18 октября 2011

Попробуйте что-то вроде:

...
ORDER BY CASE WHEN site = 'editorial' AND editorial_order = 1 THEN 1 ELSE 2 END,
         ed_banner
0 голосов
/ 18 октября 2011

или та же идея проще

ORDER BY (site = 'editorial' AND editorial_order = 1) DESC, ed_banner

Он просто использует порядок ЛОЖЬ, ИСТИНА.

Вы должны удалить соответствующие условия из предложения WHERE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...