|
|
|
| Товрисчи!
Помогите плиз составить запрос... на SQL
Поискал в инете учебником по мускулу, но нигде не нашёл того, что мне надо...
есть таблица g2_images(енто для фотогалереи)
В ней есть таблицы:
id id_cat id_subcat date_image
Так вот... если в поле id_subcat стоит значение 0, то картинка, которой соответствует строка с таким параметром в поле id_subcat, будет выводится вместе с подкатегориями...
задача такова, надо сгруппировать картинки по по полю id_subcat, но только если енто поле не имеет значение 0, при этом поля строки со значением id_subcat=0 также должны попадать под запрос, но не группироваться... воть пример:
id id_cat id_subcat date_image
1 1 1 2005-07-11
2 1 1 2005-07-11
3 1 2 2005-07-11
4 1 2 2005-07-11
5 1 3 2005-07-11
6 1 4 2005-07-11
7 1 4 2005-07-11
8 1 4 2005-07-11
9 1 0 2005-07-11
10 1 0 2005-07-11
11 1 0 2005-07-11
12 1 0 2005-07-11
а вот такой должен быть результат:
id id_cat id_subcat date_image
1 1 1 2005-07-11
3 1 2 2005-07-11
5 1 3 2005-07-11
6 1 4 2005-07-11
9 1 0 2005-07-11
10 1 0 2005-07-11
11 1 0 2005-07-11
12 1 0 2005-07-11
ну на поля id и id_cat не обращайте внимания, просто я извлекал все значения...
помогите плиZZ! у меня дело горит, сегодня уже надо!!! | |
|
|
|
|
|
|
|
для: BAHO
(11.07.2005 в 11:09)
| | Задачу следует разбить на две: нужно сгруппировать все записи для кторых id_subcat не равен 0 по полю id_subcat
SELECT * FROM g2_images WHERE id_subcat<>0 GROUP BY id_subcat
|
и извлечь все записи для которых id_subcat = 0 без группировки
SELECT * FROM g2_images WHERE id_subcat = 0
|
а затем объединить их UNION
SELECT * FROM g2_images WHERE id_subcat<>0 GROUP BY id_subcat
UNION
SELECT * FROM g2_images WHERE id_subcat = 0
|
| |
|
|
|