我有一個看起來像這樣(與非重要的列的表省略某些參數選擇下一個和以前的ID
`pictures` (
`picture_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`picture_title` varchar(255) NOT NULL,
`album_id` int(10) unsigned DEFAULT NULL,
`authenticated` tinyint(4) DEFAULT '0',
`approved` tinyint(4) DEFAULT '0'
)
我想要做的是讓下一個和上證和經批准picture_id 。有一個問題,雖然 - 這發生要麼必須有picture_id = album_id
或album_id IS NULL
下面就容易描述我想達到的目標圖像標記http://i.imgur.com/xTaEhwt.png
列紅色爲w。我想要選擇的帽子,綠色標記的是我擁有的picture_id,並且希望找到下一個/上一個ID。請注意,它跳過picture_ids 2 < 9,因爲它具有不等於其picture_id的album_id,並且它跳過picture_id 11,因爲它沒有通過認證/批准。
我該如何做到這一點?我無能爲力。
編輯:重述了一下
只要寫兩個查詢:一個是前面的條目,一個用於以下項目,分別使用合適的'ORDER BY ID DESC'或'ORDER BY ID ASC',加上' LIMIT 1',你有你的上一個和下一個值。如果你想讓他們在1個查詢中,只需'聯合'他們。 – Wrikken
您不能在** Related **問題中使用解決方案嗎? – Barmar