使用WHERE多次指定联合条件列和排除列

时间:2018-09-17 05:49:41

标签: mysql sql where

好吧,我正在使用MYSQL,因此无法多次指定特定的列。我知道以下代码是错误的,但这是为了更好地理解我的工作。

注意:id_follow_book = id书

我需要在同一查询中指定,从Base64String中选择特定的ID,并选择特定的章节。使用IN并不会帮助我,因为我会选择ID来很好地遵循这些书,但是随后每次跟踪我都不会选择正确的章节。存在以下可能性:用户不关注书或id_follow_book,甚至不关注。我正在尝试返回用户关注的内容。

id_follow_book

总和是变量。 我也尝试了CASE WHEN,但没有实现。谢谢你,我的英语很抱歉。

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))

预期结果:

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

1 个答案:

答案 0 :(得分:1)

尝试使用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)