以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于SQL查询语句 select 。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=7831)

--  作者:wcs
--  发布时间:2010/8/10 18:53:00
--  关于SQL查询语句 select 。

我用这样一条 select 查询语句生成查询表。

 

select * from [表一] union all select * from [表二] union all select * from [表三]

 

这三个表的结构完全相同,表的第一列列名为objectid

 

查询结果出来后,我发现,在这三个表中凡是 objectid 列的值相同的,查询结果只显示后面的表的记录,前面的表记录被覆盖了。

 

这个objectid好像是主键的意思了,只保留最后一条。

 

我想,是不是要加个查询参数,才能得到我想要的三个表完全相加的结果,不覆盖任何记录。

 

请教各位了。


--  作者:狐狸爸爸
--  发布时间:2010/8/10 19:37:00
--  
union all的本意就不排除重复值的,也许对于主键是没有办法的,或者select语句排除主键吧
--  作者:wcs
--  发布时间:2010/8/10 21:48:00
--  

我查了的,objectid是主键。

 

我查了一下,没有资料说明主键相同的只保留最后的表记录。

 

但是结果是这样的。

 

看来只有分成三个表,不联合查询了。

[此贴子已经被作者于2010-8-10 22:03:29编辑过]