gpt4 book ai didi

mysql - 如何在sql中的单个查询中获取具有多个值的名称

转载 作者:行者123 更新时间:2023-11-29 15:32:26 25 4
gpt4 key购买 nike

我有两个表:Person、PersonType

    Person                         PersonType                          PersonTypeMapping
personId name typeId typeName tId personId typeId
101 p1 1 Student 123 101 1
102 p2 2 Employee 124 102 1
103 p3 125 102 2
126 103 1
127 103 2

现在我需要获取人名及其相应的类型名称。

这是我的查询

SELECT Person.personId, Person.name,PersonType.typeName 
from Person
INNER JOIN PersonTypeMapping ON PersonTypeMapping.personId = Person.personId
INNER JOIN PersonType ON PersonType.typeId = PersonTypeMapping.typeId;

我的输出:

   personId       name        typeName
101 p1 Student
102 p2 Student
102 p2 Employee
103 p3 Student
103 p3 Employee

但我需要这样的输出:

   personId       name        typeName
101 p1 Student
102 p2 Student, Employee
103 p3 Student, Employee

为此可以做什么?

最佳答案

SELECT Person.personId, Person.name, Group_Concat(PersonType.typeName) 
from Person
INNER JOIN PersonTypeMapping ON PersonTypeMapping.personId = Person.personId
INNER JOIN PersonType ON PersonType.typeId = PersonTypeMapping.typeId
GROUP BY Person.personId, Person.name;

关于mysql - 如何在sql中的单个查询中获取具有多个值的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58589122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com