0

複数のユーザーに割り当てられたタスクのリストがあります。cron ジョブを設定し、各ユーザーに 1 時間に 1 回メール通知を送信したいと考えています。これが私のクエリです:

SELECT t.*, u.name, u.email
FROM tasks t, users u
WHERE t.date_created > DATE_SUB(NOW(), INTERVAL 1 HOUR) AND t.user_id = u.id
ORDER BY t.date_created ASC

結果は次のとおりです(より適切に収まるようにいくつかの列をトリミングしました):

+----+-------+---------------------+---------+--------+------+--------------+
| id | title |     date_created    | user_id | status | name |     email    |
+----+-------+---------------------+---------+--------+------+--------------+
| 9  | task1 | 2013-09-01 17:56:10 |    2    | active | John | js@gmail.com |
| 10 | task2 | 2013-09-01 17:57:20 |    1    | active | Tim  | ti@gmail.com |
| 11 | task3 | 2013-09-01 17:58:30 |    2    | active | John | js@gmail.com |
| 12 | task4 | 2013-09-01 17:59:40 |    1    | active | Tim  | ti@gmail.com |
+----+-------+---------------------+---------+--------+------+--------------+

問題は、特定の user_id に属するタスクを連結して、割り当てられた電子メールに送信する方法がわからないことです。上記の例では、次の 2 つのメールが送信されます。

  1. task1 と task 3 (js@gmail.com 宛て)
  2. task2 と task 4 (ti@gmail.com 宛て)
4

1 に答える 1