Скажем, у меня есть таблица drafts
, подобная следующей, где sent_for_review
- логическое значение:
rowid | title | author | sent_for_review
-------|--------|----------|-----------------
1 | Draft1 | John Doe | 0
2 | Draft2 | John Doe | 0
3 | Draft3 | John Doe | 1
4 | Draft4 | John Doe | 1
Я хочу выбрать все черновики, которые были отправлены на проверку.Если их нет, я хочу выбрать все черновики, которые не были отправлены на проверку.
Я попробовал следующее, чтобы попытаться сгруппировать по sent_for_review
, а затем выбрать только самый высокий:
FROM drafts SELECT title WHERE author='John Doe'
GROUP BY sent_for_review HAVING MAX(sent_for_review)
Но это возвращает Draft3 только тогда, когда существуют Draft3 и Draft4 (он должен возвращать оба) ... и ничего не возвращает, когда существуют только Draft1 и Draft2 (он должен возвращать оба).
Как я могу заставить его вернуть все максимальные значения?