gpt4 book ai didi

sql - 在 Access 中连接一个字段中的多行?

转载 作者:行者123 更新时间:2023-12-03 03:11:25 26 4
gpt4 key购买 nike

Possible Duplicate:
Ms Access Query: Concatenating Rows through a query

我有一个包含许多列的表,但有两列值得关注:订单号和产品类型。目前,该表的每个订单有多个产品类型。如果客户订购了电话服务、电视服务和互联网服务,那么就会有三条记录——每项服务一条,但都具有相同的订单号。我想创建一个引用表来存储包含客户订购的所有服务的串联字符串。这样我就可以使用这种更合乎逻辑的方法来总结我的数据。我使用的是标准 Access 2010 数据库。

**Current table:**

Order Number | Product Types

100001 | TV

100001 | Phone

100001 | Internet

100002 | Phone

100003 | TV

100003 | Internet

所需引用表

100001 | TV/Phone/Internet

100002 | Phone

100003 | TV/Internet

最佳答案

Allen Browne 提供了一个您可能会发现对此有用的函数: Concatenate values from related records 。将该函数的代码保存在标准模块中。

SELECT DISTINCT
[Order Number],
ConcatRelated("[Product Types]",
"YourTable",
"[Order Number] = " & [Order Number],
"[Product Types]",
"/"
) AS All_Product_Types
FROM YourTable;

我在 Access 2007 中测试了该查询,并将示例数据保存在名为“YourTable”的表中。它返回了您要求的结果。但是,这仅在 Access session 中有效。如果您想从 Access 外部(例如从 ASP)运行此查询,则用户定义的函数不可用,因此您会收到有关 ConcatRelated() 无法识别的错误。

因此,您可以在需要时使用查询来检索连接的值。但是,如果您存储这些串联值,它们很快就会与基表数据的更改不同步。

关于sql - 在 Access 中连接一个字段中的多行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12427975/

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