Укажите совместные условные и исключая столбцы с WHERE несколько раз - PullRequest
0 голосов
/ 17 сентября 2018

Хорошо, я использую MYSQL и не могу указать несколько столбцов несколько раз. Я знаю, что следующий код неверен, но он должен лучше понять, что я пытаюсь сделать.

Примечание: id_follow_book = id book

Мне нужно указать в том же запросе, из id_follow_book выбрать какой-то идентификатор в определенной и с некоторыми конкретными главами. С IN это не помогает мне, потому что я выбрал бы id, чтобы хорошо следовать за книгами, но тогда я не выбрал бы правильные главы для каждого продолжения. Существует вероятность того, что пользователь не следует ни за книгой, ни за id_follow_book, а может быть, даже за ним. Что я пытаюсь вернуть тем, за которыми следует пользователь.

SELECT id_follow_book, num_chapt
FROM Follow, Chapters
WHERE id_user = 1 AND
id_follow_book = id_chapter_book AND
(id_follow_book = 15 AND num_chapt = (10+1)) AND/OR
(id_follow_book = 25 AND num_chapt = (5+1)) AND/OR
(id_follow_book = 30 AND num_chapt = (23+1))

Числа суммы являются переменными. Я тоже пытался с CASE WHEN, но не добился этого. Спасибо и извините за мой английский.

Follow                                      Chapters

id_follow_book   id_user                 id_chapter_book   num_chapt
    30                1                       30              6
    25                1                       30              5
    13                1                       30              4
    21                1                       25             24
                                              25             23

Ожидаемый результат:

id_follow_book    num_chapt  (this is last viewed chapt of user, this solutioned) 
    30                  6
    25                 24

1 Ответ

0 голосов
/ 17 сентября 2018

Попробуйте использовать оператор IN:

SELECT id_follow_book, num_chapt
FROM Follow inner join Chapters on 
id_follow_book = id_chapter_book 
WHERE id_user = 1 AND 
id_follow_book in( 15,25,30) AND num_chapt in(11,6,24)
...