我有一个应用程序,我在其中向我的登录代理显示所有投诉。我有 100 个代理可以看到相同的投诉屏幕。例如代理 A 和代理 B 在登录时可以看到所有投诉。
> Complaint_id Complaint_detail
1 complaint_1
2 complaint_2
3 complaint_3
现在的问题是我必须添加每个代理都可以轻松发表评论的功能,或者您可以说一个提醒,例如(agentA 发表评论:我明天将处理此评论)。所以这个评论将只显示给agentA。
对于这个实现,我创建了一个名为complaint_detail 的新表,我在其中添加了coloumn 'comment' 和'user_id'
并显示投诉我写查询
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 为空
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
任何想法我怎样才能做到这一点,每个用户都可以看到所有的投诉,只有他们的意见。我应该改变表结构或查询可以做到这一点吗?