Цель: Я работаю над приложением Windows Phone, которое позволяет вам сохранить дни рождения. Но Windows-телефон не позволяет вам сохранять более 50 напоминаний, поэтому я пытаюсь сделать так:Sqlite query - Where In (subquery)
Я хочу получить список из следующих 50 дней рождения-ДНИ. Но этот список должен быть разным, потому что, если, например, следующие 50 дней рождения все выпадают в тот же день, я не хочу создавать 50 напоминаний в течение 1 дня, я просто хочу создать 1 напоминание для всех этих 50 дней рождения.
Эта часть запроса создаст следующий день рождения (если день рождения уже прошел, это создаст день рождения на следующий год)
CASE WHEN strftime('%m-%d', Bday) < strftime('%m-%d', 'now')
THEN strftime('2015-%m-%d', Bday)
ELSE strftime('2014-%m-%d', Bday)
END AS Bday
Так что это мой полный запрос, который не работает ...:
SELECT id, type, details,
CASE WHEN strftime('%m-%d', Bday) < strftime('%m-%d', 'now')
THEN strftime('2015-%m-%d', Bday)
ELSE strftime('2014-%m-%d', Bday)
END AS Bday
FROM Birthday
WHERE Bday IN
(SELECT DISTINCT
CASE WHEN strftime('%m-%d', Bday) < strftime('%m-%d', 'now')
THEN strftime('2015-%m-%d', Bday)
ELSE strftime('2014-%m-%d', Bday)
END AS nextBday
FROM Birthday
ORDER BY nextBday
LIMIT 50)
ORDER BY Bday
Если я бегу подзапрос seperatly, он дает мне результаты, я ищу:
2015-01-01
2015-01-02
Если я запускаю главный запрос без где я получаю:
id type details Bday
1 11111 [email protected] 2015-01-01
3 33333 [email protected] 2015-01-01
2 22222 @sqlfiddle 2015-01-02
4 44444 @sqlfiddle 2015-01-02
Но вместе, я получаю никаких результатов ...
Я сделал это sqlfiddle: http://sqlfiddle.com/#!5/58849/6/0
Я надеюсь, что some1 может мне помочь с этим! Спасибо заранее!
Going, чтобы проверить это завтра, но заранее спасибо! –