delphi中多表查询问题

来源:百度知道 编辑:UC知道 时间:2024/05/29 06:48:00
在adoquery中写了一条语句:select a.name,b.name,c.mame from a,b,c where···,在SQL SREVER中可以正确执行,但到了adoquery里,后面的两个name显示的内容都是第一个name的值,即都是a.name,如果将b和c的name换成不同的名字执行就可以,为什么呢?是格式不对吗?
奥,笔误,是c.name,where后面是(a.bno=b.no) and (a.cno=c.no),在SQL SREVER中没问题的

最好都给给别名,如下:
select a.name a_Name,b.name b_Name,c.name c_Name from a,b,c where···,用adoquery显示别名

难道是你where a.name=b.name and b.name=c.name 了?
还有你c.name写错了,你写的是c.mame
把你整句帖出来看,也就是把where后的条件

adoquery.close;
adoquery.sql.clear;
adoquery.add('sql语句');
adoquery.open;
如果你语句没有问题这个应该是可以的。

select a.name,b.name,c.mame from 表名a a,表名b b,表名c c where (a.bno=b.no) and (a.cno=c.no)