我有不同的桌子和goal是获取每个客户的批准工作流程,以这种方式显示该信息:
> 客户 |批准者1 |批准者2 |批准者3 |批准者4
首先,我有一个名为实体的表
(12, 'Math Andrew', 308, 'CHAIN1-MathAndrew')
(13, 'John Connor', 308, 'CHAIN2-JohnConnor')
(18, 'ZATCH', 309, null),
(19, 'MAX', 309, null),
(20, 'Ger',310, null),
(21, 'Mar',310, null),
(22, 'Maxwell',311, null),
(23, 'Ryan',312, null),
(24, 'Juy',313, null),
(25, 'Angel',314, null),
(26, 'John',315, null);
DO NOTE:
12 被分配给 Math Andrew...308 是这个数字
马特·安德鲁是客户
13 被分配给 John Connor...308 是这样的数字
约翰·康纳是客户
由于 Math Andrew 和 John Connor 是客户(也称为客户),因此他们必须链接到一个或多个批准者
一个客户端可以有 1 个 APPROVER、或 2 个 APPROVER、或 3 个 APPROVER、或 4 个 APPROVER,实体表中存在不同的批准者。
当我说客户“可以拥有”1 个或多个批准者时,我的意思是这样的
客户 - APPROVER4(这是 1-1 关系) PS:客户会
始终以某种方式与审批者保持联系4
客户 - APPROVER1 - APPROVER4(在这种情况下将有 2
关系..一个:CLIENT-APPROVER1 和另一个 APPROVER1-APPROVER4)
客户端 - APPROVER1 - APPROVER2 - APPROVER4(在这种情况下将会有
3 种关系.. 一:客户-批准者1,批准者1-批准者2 和
批准者2 - 批准者4)
等等...(希望您明白)
表类型_实体
(308,'CLIENT'),
(309,'APPROVER1'),
(310,'APPROVER2'),
(311,'APPROVER3'),
(312,'J3 APPROVER4'),
(313,'J4 APPROVER4'),
(314,'J5 APPROVER4'),
(315, 'J6 APPROVER4'),
(316,'J7 APPROVER4');
表类型_关系
(444,'J6 CLIENT-APPROVER4'),
(445,'J3 CLIENT-APPROVER4'),
(446,'J4 CLIENT-APPROVER4'),
(447,'J10 CLIENT-APPROVER4'),
(449,'J5 CLIENT-APPROVER4'),
(453,'J5 CLIENT-APPROVER4'),
(456,'J7 CLIENT-APPROVER4'),
(457,'J8 CLIENT-APPROVER4'),
(458,'CLIENT-APPROVER3'),
(459,'CLIENT-APPROVER1'),
(460,'APPROVER1-APPROVER2'),
(461,'APPROVER1-APPROVER3'),
(462,'J3 APPROVER1-APPROVER4'),
(463,'APPROVER2-APPROVER3'),
(464,'J3 APPROVER3-APPROVER4'),
(465,'J4 APPROVER3-APPROVER4'),
(466,'J5 APPROVER3-APPROVER4'),
(467,'J6 APPROVER3-APPROVER4'),
(468,'J7 APPROVER3-APPROVER4'),
(469,'J8 APPROVER3-APPROVER4'),
(470,'J10 APPROVER3-APPROVER4'),
(471,'CLIENT-APPROVER2');
关系类型:
客户 - 批准者 1 : (459,'客户-批准者 1')
客户-批准者2:(471,'客户-批准者2')
客户端 - APPROVER3 : (461,'APPROVER1-APPROVER3')
客户 - 批准者4:
(445,'J3 客户批准者4')
(446,'J4 客户批准者4')
(449,'J5 客户批准者4')
(444,'J6 客户批准者4')
(456,'J7 客户批准者4')
(457,'J8 客户批准者4')
(447,'J10 客户批准者4')
批准者 1 -批准者 2:
(460,'批准者1-批准者2')
批准者 2 - 批准者 3:
(463,'批准者2-批准者3')
批准者 3 - 批准者 4:
(464,'J3 批准者 3-批准者 4')
(465,'J4 批准者 3-批准者 4')
(466,'J5 批准者 3-批准者 4')
(467,'J6 批准者3-批准者4')
(468,'J7 批准者 3-批准者 4')
(469,'J8 批准者3-批准者4')
(470,'J10 批准者 3-批准者 4')
这很重要:当客户链接到一个审批者时,会出现一个新的审批者
RELATION 是在内部创建的关系表.
表关系:
(787,459,12,18)
(788,460,18,20)
(789,463,20,21)
(790,467,21,26)
787 是创建该行时分配的数字
459 代表关系:客户 - 审批人
CHAIN1-MathAndre 是客户
18 是批准人
遵循这个想法:
APPROVER1 已链接到 APPROVER2
(788,460,18,20)
APPROVER2 已链接到 APPROVER3
(789,463,20,21)
APPROVER3 已链接到 APPROVER4
(790,467,21,26)
所以,我想在屏幕上显示它:
|CLIENT | APPROVER1 | APPROVER2 | APPROVER3 | APPROVER4|
|CHAIN1-MathAndrew | ZATCH | Ger | Mar | John |
|CHAIN2-JohnConnor | MAX | | Mario | Steven|
|CHAIN3-MarioShapiro | IVAN | | | John |
最后 2 行只是一个示例
这是我到目前为止所拥有的(它正在工作):
LINK_sample_SQL https://www.db-fiddle.com/f/x5SCaQ7WUgBCDTXUxZF85/0
但它显示信息而不显示列名称(CLIENT、APPROVER1、APPROVER2、APPROVER3、APPROVER4)..这显示:
CHAIN1-MathAndrew-ZATCH-Ger-Mar-John
我想以这种方式显示数据:
|CLIENT | APPROVER1 | APPROVER2 | APPROVER3 | APPROVER4|
|CHAIN1-MathAndrew | ZATCH | Ger | Mar | John |
|CHAIN2-JohnConnor | MAX | | Mario | Steven|
|CHAIN3-MarioShapiro | IVAN | | | John |
我很迷茫,你能帮我吗?
EDIT:
批准人数上限为:4