在 MySQL 中使用分隔值连接多个表中的数据
问题:
如何我可以高效地从其中一列中具有分号分隔值的多个表中检索数据,而无需使用外部语言或引入链接表?
答案:
至为了解决这个问题,我们可以利用一种技术,将分号分隔的值转换为单独的行。这使我们能够连接表并获得所需的结果。
解决方案:
提供的解决方案采用两个自定义 MySQL 函数:
这些函数与用户表和资源表之间的联接结合在一起,使用整数系列表来迭代分号-分隔值:
<code class="sql">SELECT user_resource.user, resource.data FROM user_resource JOIN integerseries AS isequence ON isequence.id <= COUNT_IN_SET(user_resource.resources, ';') /* normalize */ JOIN resource ON resource.id = VALUE_IN_SET(user_resource.resources, ';', isequence.id) ORDER BY user_resource.user, resource.data</code>
此查询结果会生成一个表,其中每个用户的资源都表示为单独的行,使我们能够轻松连接资源表以获取相应的数据。
其他信息:
以上是如何在 MySQL 中使用分隔值连接多个表中的数据而不链接表?的详细内容。更多信息请关注PHP中文网其他相关文章!