设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2484|回复: 4
打印 上一主题 下一主题

[查询] 联合查询问题 union

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2020-7-9 12:03:45 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
从一个数据源中取某些列进行数据重组,我在使用UNION的时候,执行第一个语句金额正确,联合查询二个语句的时候,第二个语句取的金额是没问题的,但是之前第一个语句中的金额变了,这个是什么问题?怎么解决


select 公积金 as 科目说明,"RMB" as 货币编号,"D" as [借/贷],公司住房合计 as 原值金额,"1" as 汇率,公司住房合计  as 等值金额,"01"  as 分析类别1,分析编号01 as 分析编号1, 3A as 事业部,"02" as 分析类别2,分析编号02 as 分析编号2,3AB as 部门 from 工资源1  union
select "应付职工薪酬-工资"  as 科目说明,"RMB"  as 货币编号,"C"  as [借/贷],sum(工资应发_(不含调整项))  as 原值金额,"1"  as 汇率,sum(工资应发_(不含调整项)) as 等值金额,null  as 分析类别1,null as 分析编号1,null as 事业部,null as 分析类别2,null as 分析编号2,null as 部门 from 工资源1

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
4#
发表于 2021-8-13 22:00:15 | 只看该作者
学习
回复

使用道具 举报

3#
发表于 2020-7-11 09:29:17 | 只看该作者
肯定的,union只是将前后两条SQL查询的结果集进行并集操作,如果两个结果集有数据相同的行,还得用UNION ALL,不然并集结果不包含重复的行(重复的只显示一个),

ORDER BY只能有一个,且要写在最后一个SQL查询后面,表示并集结果按这个来排序

点评

谢谢  发表于 2020-7-13 10:28

点击这里给我发消息

2#
 楼主| 发表于 2020-7-9 16:52:32 | 只看该作者
我又测试了下 应该是最后加的WHERE语句导致的,我只在最后一句后面加了where语句,而没有在每个UNION前加where,是不是即使条件语句相同,也要在每个UNION前加where才可以?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-25 20:25 , Processed in 0.099813 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表