Subquery 在“选择”菜单中选择

Subquery 在“选择”菜单中选择,subquery,visual-foxpro,Subquery,Visual Foxpro,我的数据库中有一个表,其中包含一组个体的所有记录,包括男性、女性及其后代。每个记录都有个人的出生地 我试图创建一个光标来显示特定日期范围内的所有出生情况,这些日期显示个人的id、出生日期和父母。到目前为止没有问题 我的SELECT声明如下 SELECT DISTINCT IdNumber,birthstate, sex, DateOfBirth, father, mother; FROM members; WHERE (DateOfDeath>=ldStartDate AND DateOf

我的数据库中有一个表,其中包含一组个体的所有记录,包括男性、女性及其后代。每个记录都有个人的出生地

我试图创建一个光标来显示特定日期范围内的所有出生情况,这些日期显示个人的id、出生日期和父母。到目前为止没有问题

我的SELECT声明如下

SELECT DISTINCT IdNumber,birthstate, sex, DateOfBirth, father, mother;
FROM members;
WHERE (DateOfDeath>=ldStartDate AND DateOfDeath<=ldEndDate);
ORDER BY 1;
INTO CURSOR ReportMaster
选择不同的身份证号码、出生状态、性别、出生日期、父亲、母亲;
来自成员;
其中(DateOfDeath>=ldStartDate和DateOfDeath
选择不同的m.IdNumber、m.birthstate、m.sex、m.DateOfBirth、m.father、m.mother、,
母亲、出生国、父亲、出生国
m成员
左外部联接成员母亲在母亲上。IdNumber=m.mother
左外部联接成员父对象上的父对象。IdNumber=m.father
其中(m.DateOfDeath>=ldStartDate和m.DateOfDeath@aquinas,
这对于VFP来说不是一个好的语法。您使用了m.作为本地别名!它应该是m.ldStartDate和m.ldEndDate,但有m的其余部分。在该查询中,它只是一个出错的邀请(逻辑错误,只有在幸运的情况下才可能被忽略或显示为错误)

请为内存变量保留m。在这个查询中,mdot以这种方式工作只是一个永远不会被纠正的错误


PS:如果你是一个有经验的开发人员,那么它可能不会咬你。但是,我认为问题的所有者是初学者/中级,她/他不应该这样学习。

假设你的表中每个人都有一条记录,你可以消除与此不同的查询并加快它。Tamar,想告诉你的MS Office Automat是一本多么棒的书VisualFoxPro的ion,很棒的书谢谢。很高兴它帮助了你。
    SELECT DISTINCT m.IdNumber,m.birthstate, m.sex, m.DateOfBirth, m.father, m.mother,
    mother.birthstate, father.birthsate
    FROM members m
    left outer join members mother on mother.IdNumber = m.mother 
    left outer join members father on father.IdNumber = m.father
    WHERE (m.DateOfDeath>=ldStartDate AND m.DateOfDeath<=ldEndDate)