帮助同一个表上的SQL查询

时间:2010-08-04 08:50:59

标签: sql

我的表(ProjectList)列是:ProjectId,MainProjectId,SecondaryProjectId,ProjectName,EndDate

我需要编写一个查询,从中获取此表中的所有行

EndDate< = 40394并且对于每个ProjectId我需要再次带来所有行

(MainProjectId = ProjectId)或(SecondaryProjectId = ProjectId)

示例:

1,0,0,“project1”,54789

2,1,0,“project2”,54789

3,1,2,“project3”,40393

查询应该返回所有3行(第三行符合日期的条件 其他2行符合项目3的MainProjectId和SecondaryProjectId中的条件。

感谢。

1 个答案:

答案 0 :(得分:2)

我想这就是你要找的 -

  select * from ProjectList where EndDate <= 40394 or
    mainProjectID in (
    select mainProjectID from projectList where EndDate <= 40394
    ) or secondaryProjectID in (
    select secondaryProjectID from projectList where EndDate <= 40394
    )