好的,所以我在這裏處理4個表格 - Project,Members,Iterations和ProjectIterationMembers。當我創建新的項目詳細信息時,我將它們寫入到Project表中,並且還指定了一個迭代(開始日期,結束日期 - 一個項目至少包含一次迭代,但之後可以添加更多迭代)。現在將會員表中的成員寫入ProjectIterationMembers表中,因爲它們被分配給迭代。錯誤的SQL輸出
我所試圖做的是顯示項目的詳細信息,在這種格式的datagridview:
Project Name | Project Manager | Project Status
Project A | Person A | In Progress
Project B | Person B | In Progress
然而,我的輸出是這樣的一些原因,當我添加一個新項目或新的迭代:
Project Name | Project Manager | Project Status
Project A | Person A | In Progress
Project A | Person B | In Progress
Project B | Person A | In Progress
Project B | Person B | In Progress
這是我的SQL語句,並感謝您的幫助:
SELECT
DISTINCT(Project.ProjectName),
Project.ProjectID,
Project.Status,
Project.CompanyID,
Project.StartDate,
m.MemberID,
m.FirstName + ' ' + m.LastName AS ProjectManager
FROM
Project,
Member m,
ProjectIterationMember
WHERE
m.CompanyRole = 'Project Manager'
AND Project.CompanyID = '" + co_id + "'
AND m.MemberID = ProjectIterationMember.MemberID
ORDER BY
Project.StartDate DESC
項目的PK是專案編號,再有就是與迭代表{ProjectIterationID的關係 - PK,專案編號 - FK },迭代到ProjectIterationMember {ProjectIterationMemberID - PK,ProjectIterationID - FK,MemberID - FK},最後Member與ProjectIterationMember有關係{MemberID - PK} – MiziaQ 2011-02-07 00:43:41