用逗号分隔值连接两个表
问题:
我们有两个表:注释和立场。 Notes 表包含一个名为“forDepts”的列,用于存储以逗号分隔的部门 ID。我们需要连接这些表,并将“forDepts”值与 Positions 表中相应的部门名称相关联。
所需输出:
nid | DepartmentName |
---|---|
1 | Executive, Corp Admin, Art |
2 | Art, Marketing |
解决方案:
由于数据库结构无法修改,所以我们将使用以下SQL查询以获得所需的输出:
SELECT a.nid, GROUP_CONCAT(b.name ORDER BY b.id) DepartmentName FROM Notes a INNER JOIN Positions b ON FIND_IN_SET(b.id, a.forDepts) > 0 GROUP BY a.nid
解释:
通过执行此查询,我们可以获得所需的输出,其中 Notes 表中的 'forDepts' 列值被替换为相应的以逗号分隔的部门名称从职位表中。这将有助于使用提供的 PHP 代码将数据导出到 Excel 文件中。
以上是如何在 SQL 中连接具有逗号分隔值的表?的详细内容。更多信息请关注PHP中文网其他相关文章!