|
|
|
| Имеется таблица каталогов (cats) и таблица галерей (gals).
В таблице gals поле id_cat определяет к какому каталогу относится галерея.
Требуется выбрать конкретную галерею, например id_gal=8 из каталога id_cat=1 и из того же каталога предыдущую и следующую за ней галерею.
Можно выбрать тремя запросами:
SELECT * FROM `gals` WHERE `id_cat`=1 AND `id_gal`=8
SELECT * FROM `gals` WHERE `id_cat`=1 AND `id_gal`>8 ORDER BY `id_gal` LIMIT 0,1
SELECT * FROM `gals` WHERE `id_cat`=1 AND `id_gal`<8 ORDER BY `id_gal` DESC LIMIT 0,1
|
Можно двумя:
SELECT * FROM `gals` WHERE `id_cat`=1 AND `id_gal`>=8 ORDER BY `id_gal` LIMIT 0,2
SELECT * FROM `gals` WHERE `id_cat`=1 AND `id_gal`<8 ORDER BY `id_gal` DESC LIMIT 0,1
|
А одним можно? | |
|
|
|
|
|
|
|
для: Sfinks
(14.01.2012 в 18:40)
| | Ммм... нет двумя никак не получится, нет можно конечно, использовать UNION или вложенные запросы, но на уровне базы данных это будет все-равно два или более запроса. | |
|
|
|