目標: 誕生日を保存できる Windows Phone アプリに取り組んでいます。しかし、Windows Phone では 50 個を超えるリマインダーを保存することはできないため、私がやろうとしていることは次のとおりです。
次の 50 の誕生日のリストを取得したい - DAYS. たとえば、次の 50 回の誕生日がすべて同じ日に当たる場合、1 日に 50 回のリマインダーを作成するのではなく、50 回の誕生日すべてに対して 1 回のリマインダーを作成したいだけなので、このリストは明確にする必要があります。
クエリのこの部分は、次の誕生日を作成します (誕生日がすでに過ぎている場合は、来年の誕生日を作成します)。
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
サブクエリを個別に実行すると、探している結果が得られます。
2015-01-01
2015-01-02
取得場所なしでメインクエリを実行すると:
id type details Bday
1 11111 admin@sqlfiddle.com 2015-01-01
3 33333 admin@sqlfiddle.com 2015-01-01
2 22222 @sqlfiddle 2015-01-02
4 44444 @sqlfiddle 2015-01-02
しかし、組み合わせても結果は得られません...
私はこのsqlfiddleを作りました: http://sqlfiddle.com/#!5/58849/6/0
some1がこれで私を助けてくれることを願っています! 前もって感謝します!