gpt4 book ai didi

mysql - 从与其所有者匹配的数据透视表中检索记录

转载 作者:行者123 更新时间:2023-11-29 02:39:33 24 4
gpt4 key购买 nike

使用最新的 mariaDB 版本,我有以下表结构(例如修剪)

Table A
+--------+------+
| id |name |
+--------+------+
| 1 | Bob |
| 2 | Jane |
+--------+------+

Table B
+--------+------+
| id |city |
+--------+------+
| 1 | abc |
| 2 | def |
| 3 | ghi |
| 4 | jkl |
+--------+------+

Pivot Table
+-----------+-----------+
| tableA_id | tableB_id |
+-----------+-----------+
| 1 | 1 |
| 1 | 3 |
| 2 | 3 |
| 2 | 4 |
+-----------+-----------+

有没有办法让它从这个输出中消失,还是需要用 php 来完成?

+--------+------+-------+
| id |name | city1 |
+--------+------+-------+
| 1 | Bob | abc |
| 1 | Bob | ghi |
| 2 | Jane | ghi |
| 2 | Jane | jkl |
+--------+------+-------+

为此:

+--------+------+----------+
| id |name | cities |
+--------+------+----------+
| 1 | Bob | abc ghi |
| 2 | Jane | ghi jkl |
+--------+------+----------+

当前使用下面的查询

SELECT c.id, c.city1, p.id pid, p.first_name FROM city c
INNER JOIN pivot_tablet piv ON c.id = piv.city_id
INNER JOIN person p ON p.id = piv.person_id

最佳答案

使用 group_concat()

SELECT p.id,p.first_name,group_concat(c.city1 SEPARATOR ' ') as cities, 
FROM pivot_tablet piv inner join city ON c.id = piv.city_id
INNER JOIN person p ON p.id = piv.person_id
group by p.id, p.first_name

关于mysql - 从与其所有者匹配的数据透视表中检索记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55756969/

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