单行一对多

One to many on single row

我有一个包含联系人和 phone 号码 table 的访问数据库。每个联系人可以有 0 到 10 phone 个号码。我正在尝试获取同一行中每个联系人的所有号码,以便作为 .csv 导入到另一个系统。我试过使用数据透视表,但 运行 遇到了问题,因为每个联系人都有不同数量的 phone 号码。

所以根据你的描述,你有一个联系人 table 比如,

tbl_Contacts
````````````
contactID   |   contactName
------------+---------------
1           |   Jones
2           |   Jackson

一条phone条顾客喜欢的记录,

tbl_PhoneRecords
````````````````
phoneID |   contactID   |   contactNumber
--------+---------------+-----------------
1       |   1           |   555-555-5555
2       |   1           |   555-444-7777
3       |   2           |   111-111-1111

你想要的输出就像,

qry_Output
``````````
contactID   |   contactName |   joinedContact
------------+---------------+-------------------------------
1           |   Jones       |   555-555-5555, 555-444-7777
2           |   Jackson     |   111-111-1111

您也许可以使用 Allen Browne 的代码 Concat Related。所以你的 SQL 会是这样的,

SELECT 
    tbl_Contacts.contactID,
    tbl_Contacts.contactName,
    ConcatRelated("contactNumber", "tbl_PhoneRecords", "contactID = " & tbl_Contacts.contactID) As joinedContact
FROM
    tbl_Contacts;

希望对您有所帮助!