注册 登录
编程论坛 ACCESS论坛

access 数据库SQL多表查询

liulianju 发布于 2006-10-13 16:39, 2367 次点击
现在Access数据库中有Custom,Order,Purchase三张表,Custom表中的字段有CustomNo,Name,Phone,Address,主键为CustomNo
Order表中有OrderNo,OrderDate,CustomNo 主键为OrderNo,
Purchase表中有OrderNo,GoodsNo ,Price,SerialNo,主键为SerialNo,
通过ADO连接,要同时查其中的内容,查询语句如下:
SQL.Add('select OrderNo,OrderDate,Name from Order inner join Custom '+
'on Order.CustomNo=Custom.CustomNo inner join Purchase on Order.OrderNo=Purchase.OrderNo');
为什么程序运行是报from子句语法错误,希望大家能给予指点。谢谢
6 回复
#2
hoya2006-10-13 16:41
from三个表都要加进去。。。。

直接用where 可能比较简单吧。。。

前面的字段加上表名

[此贴子已经被作者于2006-10-13 16:46:00编辑过]

#3
liulianju2006-10-13 17:14
刚开始用的就是where子句,运行也是抱这种错误,后来在网上查找看到有些说对access数据库不支持左连接什么的,我不知道sql对于access数据库应用时与标准的SQL有什么区别,另外我想问楼上朋友from三个表都要加进去是什么意思,我用inner join方式难道不能把三个表都加进去吗
#4
hoya2006-10-16 09:53

select Order.OrderNo,Order.OrderDate,Custom.Name from Custom,Order,Purchase where Order.CustomNo=Custom.CustomNo and Order.OrderNo=Purchase.OrderNo


这样不行么??

[此贴子已经被作者于2006-10-16 9:53:33编辑过]

#5
sunley2006-10-17 21:33

楼上的方法可以走通。

#6
zhoukang_xa2006-10-23 12:28

估计楼主的代码是多了或少了个空格什么的

#7
天若有情2006-10-25 22:16
对,对于多表的SQL查询就是应该要使用where来做连接
1