2013-09-23 29 views
1

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

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返回一条记录?

+0

尝试更改'SELECT'到'SELECT DISTINCT' – Linger

回答

1

我怀疑你得到多个行MomID由于INNER JOINKidsAgeQ。您不需要包含该表以检索与每个MomID匹配的级联的KidFirst值。

如果此查询不能提供您需要的结果,请告诉我们来自Moms的样品数据。

SELECT 
    m.MomID, 
    m.MomLast, 
    ConcatRelated("KidFirst","KidsAgeQ","MomID =" & m.MomID) AS Kids 
FROM Moms AS m;