Выбрать следующие записи при определенном условии?

Здравствуйте.
Суть вопроса - при выборе пользователя получаю id записи в БД. Необходимо узнать есть ли в БД сразу же после этого id запись или записи у которого столбец show = 0.
Т.е. допустим id = 17... смотрим в БД.. если у id = 18 show = 1, то запрос прекращаем. Если же show = 0, то надо проверять следующие записи, пока не получим снова show = 1.
Заранее спасибо.
  • Вопрос задан
  • 209 просмотров
Пригласить эксперта
Ответы на вопрос 3
FanatPHP
@FanatPHP
Чебуратор тега РНР
Кстати, нелишним будет спросить, для решения какой задачи это понадобилось?
Ответ написан
Комментировать
egor_nullptr
@egor_nullptr
select u0.*, u1.*
from `user` as u0
inner join `user` as u1
  on u1.id > u0.id and u1.show = 1
where
  <some condition for u0>
limit 1;

Результат, правда, будет в одну строку вместо двух, но не думаю что это проблема.
Ответ написан
@Ronii
SELECT * FROM table WHERE show = 1 ORDER BY id ASC LIMIT 1
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы