日期:2014-05-18  浏览次数:20533 次

access 中的union
sql中执行select   'a '   as   f1   union   all   select   'b '   as   f1
会返回2条记录
而再access中却报错误:“查询输入必须至少包含一个表或查询”

如果现在存在2个表a1,b1   字段只有一个都是f1,记录都只有一条,分别是a和b
再执行select   f1   from   a1   union   all   select   f1   from   b1却可以成功,

难道access中的union语句中一定要含有目标表吗,即一定要有from语句吗?

------解决方案--------------------
很少用access
SQL中不會有此問題
------解决方案--------------------
select 'a ' from 表名
union all
select 'b ' from 表名
------解决方案--------------------

--在SQL Server中,可以不用带from ,如下

select 'a ' as 字段名
union all
select 'b ' as 字段名


/*

字段名
--------------
a
b

*/


--但是,在Access中,必须带有from语句,如下

select 'a ' from 表名
union all
select 'b ' from 表名


Access使用的是Jet-SQL,SQL Server使用的是T-SQL,两者用法上相差很大。


JET SQL 帮助(jet4 access2000)下载地址

http://www.access911.net/index.asp?board=8&recordid=75FAB71E&tt=




------解决方案--------------------
wangtiecheng(不知不为过,不学就是错!) 這個ACCESS的行家來了,這個問題就基本搞定了。 :)