我具有以下结构:用户是受理人和提交者的父项。提交者与请求具有一对多关系。请求与受理人具有多对多关系。
我想将以下2个查询合并到一个表中:
Select r.request_number, u.first_name as Assignee
from requests r, users u
join request_assignee ra on r.id = ra.request_id
join assignee a on u.id = ra.assignee_id;
Select requests.request_number as Request_Number, users.first_name as Submitter
from requests
Join submitter on requests.submitter_id = submitter.id
Join request_assignee on requests.id = request_assignee.request_id
join users on submitter.id = users.id;
请求可以有多个受理人。如何执行1次查询以在一个表中显示结果?
下面的图片可能对表格有帮助:
2条答案
按热度按时间yvfmudvl1#
假设:输出
Request Number
、Submitter
、Assignee
。查询可以简化如下,原因是
ASSIGNEE
和SUBMITTER
不是必需的,USERS
加上两个不同角色的别名就足够了。当前数据模型:
SUBMITTER
和ASSIGNEE
不提供附加信息。ID
列是冗余的。通过删除
SUBMITTER
和ASSIGNEE
表建议的数据模型。hmtdttj42#
也许,更改列名称并保持它们一致,然后尝试以下操作