次のデータを含む books というテーブルがあります。
id | description | section
1 | textbook 1 | 1
2 | textbook 2 | 1
3 | textbook 3 | 1
次のクエリを使用して、id 2 と、セクション 1 の次の行と前の行を選択します。
SELECT id FROM books where id IN
(2,
(SELECT id FROM books WHERE id < 2 LIMIT 1),
(SELECT id FROM books WHERE id > 2 LIMIT 1)
)
AND section = 1
を追加するsection = 1
と、クエリは id 2 のみを返しますが、3 つの id をすべて返す必要がありますが、この部分を削除すると 3 つの id がすべて選択されます。私のスキームは実際にはそれよりも複雑ですが、状況を説明するために単純化しました。それで、私は上で何を間違っていますか?