gpt4 book ai didi

php - MYSQL 按拆分数组分组

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

我有一个表 event,其中有一列 organizer。列组织者是一组 ID-Ints(例如:“10,920,527”)。在第二个表 (user) 中,id 与名称相关联。

我需要一个 MYSQL 查询,它可以给我一串事件组织者的名字。所以 f.e.:

SELECT event.*, group_concat(user.forname, ' ', user.surname) as real_names
FROM event
LEFT JOIN user ON event.organizer=user.id
WHERE event.id='" . $get_id . "'
GROUP BY event.id

所以现在的问题是:eventorganizer 是一个数组,我想将数组的每个值与所有 user 进行比较.id 的。

我不确定这在 MYSQL 中是否可行,但我认为如果可能的话,它会比在 PHP 中内爆它们要短得多,在 PHP 中我需要另一个查询来获取所有用户名。

最佳答案

要妥善解决这个问题,您需要适本地重新设计您的数据库。

如果每个用户都可以成为不同事件的组织者,并且每个事件可以由不同的用户组织(多对多关系),您需要创建另一个(数据透视)表,如 user_event:用户 ID、事件 ID。因此,要进行查询,您需要通过 event_id 加入此表,然后通过 user_id 加入用户表。

SELECT event.*, group_concat(user.forname, ' ', user.surname) as real_names
FROM event
LEFT JOIN user_event ON event.id=user_event.event_id
LEFT JOIN user ON user_event.user_id=user.id
WHERE event.id='" . $get_id . "'
GROUP BY event.id

关于php - MYSQL 按拆分数组分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29365386/

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