回 帖 发 新 帖 刷新版面

主题:关于VFP三表联查问题

有3只表:
表1:表名“领导表”,字段为姓名(主索引)、年龄、职务。
表2:表名“群众表”,字段为姓名(副索引)、年龄、部门。
表3:表名“民工表”,字段为姓名(副索引)、岗位、工种。
使用sql select查询语句,将“领导表”中的“姓名”字段的记录、“群众表”中的“部门”字段的记录和“民工表”中的“工种”字段的记录,查询罗列出来。
Select领导表. 姓名, 部门, 工种 from领导表, 群众表, 民工表 where领导表.姓名=群众表.部门and 群众表.部门=民工表.工种
运行显示:语法错误.
各位看倌,由于本人是新手,故请按本人思路解决本人的困难,谢谢各位了。

回复列表 (共2个回复)

沙发


[quote]领导表.姓名=群众表.部门and 群众表.部门=民工表.工种[/quote]
[em18] 领导表.姓名=群众表.部门  ??????
[em18] 群众表.部门=民工表.工种  ??????

板凳

领导表中的姓名怎么会等于群众表中的部门呢?群众表中的部分又怎么会等于民工表中工种呢?得解释清楚了才行.
你非要这么等也不是不可以,只是你下面的句子肯定要出错:

[color=FF0000]Select领导表. 姓名[/color], 部门, [color=008000]工种 from领导表[/color], 群众表, 民工表 [color=00FFFF]where领导表[/color].姓名=群众表.[color=008000]部门and[/color] 群众表.部门=民工表.工种

正确的是:

Select 领导表.姓名, 部门, 工种 from 领导表, 群众表, 民工表 where 领导表.姓名=群众表.部门 and 群众表.部门=民工表.工种

看清楚了没有?区别在哪里,你的句子是不是有地方少了空格有地方又多了空格(起分隔作用)?而且也显繁索,简洁的形式如下:
Select l.姓名, 部门, 工种 from 领导表 l, 群众表 q, 民工表 m where l.姓名=q.部门 and q.部门=m.工种
编程一定要仔细,否则就别编程.

我来回复

您尚未登录,请登录后再回复。点此登录或注册