データベースタスクの3つのテーブル、ユーザー&が割り当てられています。他のユーザーがタスクを完了したかどうかを確認するクエリのヘルプが必要
タスクにはAdminによって作成されたタスクの情報が含まれます。ユーザーはユーザー& assignedToのリストで、どのタスクがどのユーザーに割り当てられているかに関する情報が含まれています。
ダッシュボードでユーザーに割り当てられたタスクのリストを表示するには、 'assignedTo'テーブルでクエリする必要があります。問題は1つのタスクが複数のユーザーに割り当てられている可能性があり、そのうちの1つによってタスクが完了する可能性があります。だから私はOpen Statusにあり、割り当てられたリストの誰かによって完了されていないタスクを表示する必要があります。以下 「はassignedTo」テーブルの構造である:それはそれらのいずれかによって閉塞されないように上記データに従って、タスク1は、ユーザ1,2,3 & 4ダッシュボードに表示され
--------------------------------
| id | taskId | userId | status|
--------------------------------
| 1 | 1 | 1 | open |
| 2 | 1 | 2 | open |
| 3 | 1 | 3 | open |
| 4 | 1 | 4 | open |
| 5 | 2 | 1 | open |
| 6 | 2 | 2 | close |
| 7 | 3 | 1 | open |
| 8 | 3 | 2 | open |
--------------------------------
。 タスク2は、ユーザー2によって閉じられているため、誰のダッシュにも表示されません。 同様に、タスク1はユーザー1に表示されます。& 2ダッシュは両方に対してオープンなので、
私は同じテーブルを自分自身に参加しようとしましたが、実行に失敗しました。
SELECT * FROM assignedTo as a1
JOIN assignedTo as a2 ON a2.taskId = a1.taskId AND a2.userId != 1 AND a2.status == 'open'
WHERE a1.userId = 1 AND a1.status = 'open'
可能であれば、クエリにお役立てください。
複数のユーザーに1つのタスクを割り当てることができますか? – Strawberry
@Strawberry Yes –