1

我在 Access 2003 中使用 ConcatRelated 进行了查询,以返回每个父母的所有孩子的字符串。但是,我的测试查询返回多个相同的行 - 每个孩子一个。所以SQL:

SELECT Moms.MomID, Moms.MomLast, 
    ConcatRelated("KidFirst","KidsAgeQ","MomID =" & kidsageq.MomID) AS Kids
FROM Moms INNER JOIN KidsAgeQ ON Moms.MomID = KidsAgeQ.MomID;

返回以下内容:

MomID - MomLast - 儿童

34 . . . . . . 问。. . . . . . 皮平,阳光,玫瑰

34 . . . . . . 问。. . . . . . 皮平,阳光,玫瑰

34 . . . . . . 问。. . . . . . 皮平,阳光,玫瑰

这是正常的吗?而且不管它是否正常,我该如何修复它以只为每个 MomID 返回一条记录?

4

1 回答 1

1

我怀疑MomID由于INNER JOINwith ,您会得到多行KidsAgeQ。您无需包含该表即可检索KidFirst与每个MomID.

如果此查询没有为您提供所需的结果,请向我们展示来自 的示例数据Moms

SELECT
    m.MomID,
    m.MomLast, 
    ConcatRelated("KidFirst","KidsAgeQ","MomID =" & m.MomID) AS Kids
FROM Moms AS m;
于 2013-09-23T16:13:54.403 回答