ACCESS 按一列数据值为条件,生成一列,按条件匹配取另外两张表中值。

现在有多张表,有一张为主表A,需要按A中一列的取值不同,匹配另外两张表中相同属性的值,求语句。示例如下:比如表A,时间、ID、地域名称、经手人四个关键字,表B为地域名称、... 现在有多张表,有一张为主表A,需要按A中一列的取值不同,匹配另外两张表中相同属性的值,求语句。示例如下:比如表A,时间、ID、地域名称、经手人四个关键字,表B为 地域名称、地域特点 表C为 ID、地域特点。现在想要匹配一个新表, 时间、ID、地域名称、经手人、地域特点,在2018年以前取表B的地域特点值,2018年以后,取表C的地域特点值 展开
 我来答
tjrmgs
2018-05-12 · TA获得超过5765个赞
知道大有可为答主
回答量:2161
采纳率:94%
帮助的人:1025万
展开全部
题主的需求可以通过运行下列SQL选择查询语句高效解决:

select A.*,B.地域特点 from
A left join B on A.地域名称=B.地域名称
where A.时间<#2018-01-01#
union all
select A.*,C.地域特点 from
A left join C on A.ID=C.ID
where A.时间>=#2018-01-01#;

说明:
1) access无法识别无年月日间隔符的日期格式,上述语句适用于“时间“字段设置为"日期/时间"数据类型的数据表;

2) 上述语句假设B表的地域名称是唯一的,C表的ID也是唯一的;

3) 如果无法满足上述两条请告知,我可以再调整语句写法,但是这样一来,运行效率会低一些。
更多追问追答
追问

执行不下去,union后的表格,识别不到

是按照上面语句来写的,日期我设置为数值了

追答
错误提示您引用了不存在的数据库对象,初步判断,肯定写错了什么,不是表名不对,就是字段名不对。请贴出出您的sql语句和相关的表结构,我帮您分析一下
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式