Предыдущая / Следующая кнопка SQL запрос - PullRequest
0 голосов
/ 03 января 2012

У меня есть данные таблицы со следующими столбцами:
| -a- | -b- | -text- |
| -1- | -1- | -text- |
| -1- | -2- | -text- |
| -1- | -3- | -text- |
| -2- | -1- | -text- |
| -2- | -2- | -text- |
| -2- | -3- | -text- |
| -2- | -4- | -text- |

например, я на третьей записи ($ current - in bold ), мне нужно сделать SQL-запрос для перемещенияк (2, 1).

У меня есть запрос, как показано ниже:

$previous = "SELECT a, b FROM `table` WHERE a <= $current_a AND b < $current_b ORDER BY a DESC, b DESC LIMIT 1";
$next = "SELECT a, b FROM `table` WHERE a >= $current_a AND b > $current_b ORDER BY a ASC, b ASC LIMIT 1";

Хотя, однако, далее идет к (2, 4).

Есть идеи?

1 Ответ

0 голосов
/ 03 января 2012

Вам нужно условие, которое обрабатывает два случая отдельно;когда значения a одинаковы, а когда они различны:

where (a = @current_a and b > @current_b) or (a > @current_a)

Это необходимо и для предыдущего элемента:

where (a = @current_a and b < @current_b) ro (a < @current_a)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...