2013-09-23 28 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;