Sql数据库换成Access数据库后,查询语句出错

ygxxzbz 2010-10-13 06:37:01
如下语句,Sql数据库换成Access数据库后,查询语句出错(Access不支持SUBSTRING)。SUBSTRING改成mid或left也不行。

SQL = "SELECT province.AreaName AS sheng, city.AreaName AS shi, town.AreaName AS xian, Table1.* "
SQL = SQL & " FROM Table1 "
SQL = SQL & " INNER JOIN AreaInfo AS province ON province.AreaID = SUBSTRING(Table1.ReportArea, 1, 2) + '0000'"
SQL = SQL & " INNER JOIN AreaInfo AS city ON city.AreaID = SUBSTRING(Table1.ReportArea, 1, 4) + '00'"
SQL = SQL & " INNER JOIN AreaInfo AS town ON town.AreaID = Table1.ReportArea"
SQL = SQL & " INNER JOIN ElementInfo ON Table1.ReportID = ElementInfo.ReportID AND "
SQL = SQL & " Table1.ElementName = ElementInfo.ElementName"
SQL = SQL & " WHERE (Table1.ReportID = '" & BCBiao & "')"
...全文
165 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ygxxzbz 2010-10-14
原数据库是这样的:与本咨询有关的主要有两个表。表A结构及部分数据如下

AreaID AreaName
130000 河北省
130100 石家庄市
130101 市辖区
130102 长安区
130103 桥东区
130123 正定县
130124 栾城县
130125 行唐县

表B部分结构及数据如下
ReportArea
130123
130103
130125
130125

我想根据表A,从表B中得到如下查询结果
省 市 县
河北省 石家庄市 正定县
河北省 石家庄市 桥东区
河北省 石家庄市 行唐县
河北省 石家庄市 行唐县

回复
ygxxzbz 2010-10-14
希望各位高手提出意见
回复
ygxxzbz 2010-10-13
建用SQLite是什么意思,不明白
回复
Sweet-Tang 2010-10-13
数据库不一样
语法也不一样
建用SQLite
回复
ygxxzbz 2010-10-13
如果province.AreaID = left(Table1.ReportArea, 2) + '0000'

提示错误:不能在Memo、OLE或超级链接对象(Province.AreaID=LEFT(Report1.ReportArea,2)+'0000')中连接。
回复
ygxxzbz 2010-10-13
SUBSTRING改成mid或left也不行。
回复
饮水需思源 2010-10-13
province.AreaID = left(Table1.ReportArea, 2) + '0000'
回复
相关推荐
发帖
疑难问题
创建于2007-09-28

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2010-10-13 06:37
社区公告
暂无公告