【发布时间】:2018-12-02 02:14:51
【问题描述】:
create table role (
role varchar(20),
id int
);
insert into role (role, id) values ('Friend', 1);
insert into role (role, id) values ('Son', 2);
insert into role (role, id) values ('Daughter', 3);
insert into role (role, id) values ('Father', 4);
insert into role (role, id) values ('Mother', 5);
insert into role (role, id) values ('Brother', 6);
insert into role (role, id) values ('Sister', 7);
create table person (
persons varchar(20),
personid int
);
insert into person (persons, personid) values ('James', 1);
insert into person (persons, personid) values ('Peter', 2);
insert into person (persons, personid) values ('Joseph', 3);
insert into person (persons, personid) values ('Jeni', 4);
create table role_person (
roleid int,
personid int
);
insert into role_person (roleid, personid) values (2, 1);
insert into role_person (roleid, personid) values (2, 2);
insert into role_person (roleid, personid) values (4, 2);
insert into role_person (roleid, personid) values (6, 2);
insert into role_person (roleid, personid) values (6, 2);
insert into role_person (roleid, personid) values (3, 4);
insert into role_person (roleid, personid) values (4, 3);
我想要最终输出如下
final output
由于底层数据库是 Maria DB,我不能使用数据透视函数。 请注意,人可以增加或减少/ 还有,明天的角色可以增加,比如爷爷、妻子等。
不确定如何在存储过程或查询中解决这个问题。
我们可以使用 XML DATA TYPE 来处理动态查询吗?
【问题讨论】:
-
哪个版本的 MariaDB?在 10.2.1 或更高版本之前?
-
10.2.1是db版本
-
查看其他标记为数据透视表的问题。
-
mariaDB 无法使用数据透视表
标签: mysql stored-procedures mariadb pivot-table cross-join