access,两个表中不同长度的字段怎么实现对比?

access数据库,表1中有字段a记录了身份证号前17位,表2中有字段b记录了身份证号18位,现在想对比字段a和字段b的前17位,从而得到表2中包含表1的数据,sql语句应该怎么写?

可以采用几个方式,你自己选择一下

 

1

instr的方式

代码简单如下

select è¡¨1.身份证号,表2.身份证号 from è¡¨1,表2 where instr(表2.身份证号,表1.身份证号)>0

2

left的方式

select è¡¨1.身份证号,表2.身份证号 from è¡¨1,表2 where left(表2.身份证号,17)=表1.身份证号

同时,我你,查收一下,浏览器右上角

追问

如果我采用left方式,对比两个18位身份证号的前17位,那代码是不是这样的?
select 表1.身份证号,表2.身份证号 from 表1,表2 where left(表2.身份证号,17)=left (表1.身份证号,17)

追答

哦哦,对,我以为你表1只有17位长呢,原来你是要比对前17位一样的

我搞错了,你说的对

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-03-20
可以解决的!在
表>>常规>>有效性规则:输入
len([字段名程])=6

表>>常规>>有效性文本:输入
表格中字段的长度只能为6
。用户在天数据是字段的长度只能为6,否则光标移动后提示“
表格中字段的长度只能为6”

在ACCESS程序里如何对比两个表格的不同,并输出不同答案
1、与sheet1一样将sheet2也添加一个ID字段并分别设为主键;2、创建更新查询,添加sheet1和sheet2,将两表ID建立关系;3、拖入sheet1的shuchu字段;4、在更新到栏目中填入IIF(sheet1!字段1=sheet2!字段1,"1","2");5、保存查询并退出;6、双击创建的查询,查看执行结果。

ACCESS中有2个表,想找出2个表不一样的数据,SQL查询怎么写?
我有表1=Standard_Data1 ,表2=Standard_Data2,两个表里面只有1列数据为MSISDN,下面SQL语句没法找到不同的内容。select * from Standard_Data1 where Standard_Data1.MSISDN not IN(select Standard_Data2.MSISDN from Standard_Data2)select * from Standard_Data1 where not exists(select * from...

如何对access数据库的两个表进行重复比对?
你要的结果用两个查询解决比较简单:1.查A表有B表无。2.查B表有A表无。方法是建立一个简单查询,添加A表和B表,将身份证号建立关系。第一个查询的关系选择“包含A表全部记录”将B表身份证号的条件设为“IS NULL"。第二个查询的关系选择“包含B表全部记录”将A表身份证号的条件设为“IS ...

在Access中有没有办法实现两个表比对是否一样
可以通过求两表是否存在非交集的办法来比对两张表是否一样,存在非交集时表示两表不一致,反之两表一样。求两表之间的非交集可以使用SQL查询中的 left join(左连接)、right join(右连接)、not exists子查询和not in子查询等方法获取。比对可以基于单字段比对也可以多字段比对,比对的字段越多SQL语...

如何在access中查询同结构2个数据表中数据不同的字段
方法一:分别找出 --A不在B中的 select * from A where c not in (select c from B)--B不在A中的 select * from B where c not in (select c from A)或者 方法二:select * from A into #temp insert into #temp select * from B select * from #temp group by c,d,e having...

access中两个表中数据进行对比 显示出不一样的字段
,")+IIf(result.g="","",result.g) AS 结果FROM (SELECT IIf(表2.a>(select 表1.a from 表1),"a","") AS a, IIf(表2.b>(select 表1.b from 表1),"b","") AS b, IIf(表2.c>(select 表1.c from 表1),"c","") AS c, IIf(表2.d>(select 表1.d from 表1...

在ACCESS中如何查询出2张表中不同的记录
那你应该给记录加上一个标识字段,比如uid,这样你只要查询两表中是否存在相同的uid号就可以判断是不是有相同记录了;如果没有这种标识型字段,就只能挨个字段经较了 补充1:那你只要找到不含有某个标识的就行了,比如说,a表和b表中uid不同的,你检索就可以了 ...

关于ACCESS数据库数据对比的问题与方法。
如身份证号;其次,查找相同项,检查同一身份证信息是否相同,如有不同,则进行辨认,取舍,并整合。最后,将数据表A中没有但数据表B中有的数据添加入数据表A形成一个全面完整的数据表。连接属性:可以查询两者相同的记录;连接属性3结合is null,可以查询数据表A中没有但数据表B中有的记录,如下:...

access数据库中,怎么实现两个表的同步?
1.首先打开Access数据库后,建立两个数据表来作为举例。2.建立好数据表以后,点击表可以看到两个表中包含不同的字段内容,如果我们要查询任何一个字段的记录内容,就要将两个表建立起关系,相互关联。选中任何一个表,然后点击工具栏上的视图图标。3.现在切换到设计界面,点击工具栏上的【关系】按钮,...

ACCESS怎么比较两列数据的大小啊?
建议放弃这个想法。不仅ACCESS是这样,连MSSQL、ORACLE这些大型数据库的字段约束也是如此。对于大型数据库系统可以用触发器或存储过程来限定字段值参考外字段值,但是ACCESS不支持。可以考虑以编程方法来限定某字段小于另一个字段,例如在窗体里用代码限定“津贴”必须小于“工资”是可以实现的。

相似回答