首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MySQL XML查询

MySQL XML查询
EN

Stack Overflow用户
提问于 2012-07-01 19:07:48
回答 3查看 14.9K关注 0票数 4

我对MySQL中的ExtractValue函数有点问题。

下面是我的示例XML:

代码语言:javascript
运行
复制
<As>
    <A>
        <B>Chan</B>
    </A>
    <A>
        <B>Shey</B>
    </A>
    <A>
        <B>Bob</B>
    </A>
</As>

以下是我当前的查询:

代码语言:javascript
运行
复制
SELECT ExtractValue(@XML, '/As/A/B')

结果如下:

代码语言:javascript
运行
复制
CHAN SHEY BOB

这是我想要的:

代码语言:javascript
运行
复制
CHAN
SHEY
BOB

有没有人能帮我实现这个目标..谢谢。

EN

Stack Overflow用户

发布于 2012-07-01 19:16:32

您可能需要重新考虑您的数据库设计。关系数据库系统不支持一个字段中的多个值。ExtractValue是用来从字段中的XML数据中获取一个值的过滤器,而不是用来获取多行数据的。

您应该阅读有关数据库规范化的知识。所有表格应至少遵循first normal form (1NF),即每个字段中只有一个值。不满足1NF的表通常很难查询,因为一般的SQL和诸如MySQL之类的实现不会为您提供任何用于此类查询的好工具。

如果您仍然想处理您的非1NF表,我认为您可能需要从数据库中提取数据,并在应用程序代码中完成此工作。

票数 -1
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11281436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档