ログインしたエージェントにすべての苦情を表示するアプリケーションがあります。同じ苦情画面を見ることができるエージェントが 100 人います。たとえば、エージェント A とエージェント B は、ログインしたときにすべての苦情を見ることができます。
> Complaint_id Complaint_detail
1 complaint_1
2 complaint_2
3 complaint_3
ここでの問題は、すべてのエージェントが簡単にコメントを付けることができる機能を追加するか、次のようなリマインダーを言うことができるようにする必要があることです (agentA put comment : 明日、このコメントに取り組みます)。したがって、このコメントは agentA のみに表示されます。
この実装のために、「comment」列と「user_id」列を追加する、complaint_detail という名前の新しいテーブルを作成しました。
苦情を表示するには、クエリを記述します
select complaint.Complaint_name,complaint.User_ID from complaint
left outer join complaint_detail on complaint.Complaint_id = complaint_detail.complaint_id
このクエリは、ユーザーをフィルタリングするとすべてのレコードを表示するようになり、これを解決するためにそのユーザーのレコードのみが表示されます。
select * from (select complaint.Complaint_name,complaint.User_ID from complaint
left outer join complaint_detail on complaint.Complaint_id = complaint_detail.complaint_id
complaint_detail.complaint_info_id
) asdf
user_id = 'agentA' または User_ID が null の場合
select * from (
select complaints.complaint_id,complaints.complaint_detail, complaints_detail.comment,complaints_detail.user_id from complaints
left outer join complaints_detail on complaints.Complaint_id = complaints_detail.complaint_id
) asdf
where user_id = 'agentA'
or User_ID is null
は
complaint_id complaint_detail comment user_id
1 complaint_1 complaint_1 agentA
2 complaint_2 complaint_2 agentA
3 complaint_3 null null
エージェントBの場合
complaint_id complaint_detail comment user_id
1 complaint_1 complaint1_ agentB
3 complaint_3 null null
すべてのユーザーがすべての苦情とコメントのみを表示できるようにするにはどうすればよいでしょうか。テーブル構造を変更するか、クエリでこれを行うことができますか?