Надеюсь, вы можете помочь. Я хранение данных в базе данных MySQL в следующем формате:Выбор строк по критериям других строк
ArticlePK ArticleId Status Title lastupdate
1 1 Draft Peter Pan 2013-06-14 07:24:05
2 1 Published Peter Pan 2013-06-15 08:00:05
3 1 Deleted Peter Pan 2013-06-20 11:30:12
4 2 Published Growth of the Soul 2013-06-14 07:24:05
Мне нужен SQL запрос, который:
- возвращает все строки со статусом Publish
- КРОМЕ если позже ряд (определяется столбцом lastUpdate), с тем же ArticleId, имеет статус удаленной.
Таким образом, в следующем примере, запрос должен возвращать только строку с ArticlePK из 4. Ряд ArticlePK 2 не будет возвращаться из-за строки с ArticlePK 3.
Я пробовал несколько вещей, но ничего не получилось. Я уверен, что это только подтолкнет, чтобы помочь мне, поэтому, если у вас есть какие-либо предложения, я бы хотел их услышать.
Спасибо,
+1 выдержка для SQLFiddle - Я даже не знаю, существует этот сайт. Я собираюсь попробовать эти ответы более подробно завтра утром в MySQL, поскольку у него, казалось, были некоторые проблемы с NOT EXISTS, когда я попробовал это раньше сегодня. – JonRed