Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >访问SQL -一个字段不存在,至少另一个字段存在。

访问SQL -一个字段不存在,至少另一个字段存在。
EN

Stack Overflow用户
提问于 2016-04-05 21:58:18
回答 1查看 373关注 0票数 0

如果另一个表中不存在相同的ID,但至少有一个其他字段存在,则需要更新表中的复选框。以下是我所拥有的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
UPDATE TableA
       INNER JOIN TableB_
       ON TableB_Name=TableA.Name OR TableB.Surname=TableA.Surname
       AND NOT TableB.ID=TableA.ID
       SET TableA.Checkbox=True

此SQL放置在form的load事件中。我做错什么了?

编辑:我想做的-

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
TableA

ID    Name  Surname 
200   John  Mills

TableB

ID    Name  Surname
300   Jane  Mills

您注意到,在两个表中,“姓氏”字段中都有一个匹配项。在这种情况下,我希望选中复选框,但ID必须不同。

换句话说,如果有一个具有不同ID的记录,但是其他一个字段是相同的,我想将复选框设置为True。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-05 22:10:40

使用NOT EXISTS(),查询检查是否有另一个ID的记录,它不检查所有记录是否有其他ID:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
UPDATE TableA
SET TableA.checkbox = true
WHERE NOT EXISTS(SELECT 1 FROM TableB
                 WHERE (TableB_Name=TableA.Name OR TableB.Surname=TableA.Surname)
                       AND TableB.ID=TableA.ID)

只有在不存在具有相同名称/姓氏和ID的记录时,才会将字段更新为true

如果具有不同ID的1条记录就足够了,您可以在同一个主体上使用EXISTS()

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
UPDATE TableA
SET TableA.checkbox = true
WHERE EXISTS(SELECT 1 FROM TableB
             WHERE (TableB_Name=TableA.Name OR TableB.Surname=TableA.Surname)
                   AND TableB.ID<>TableA.ID)

也许你指的是一个组合,一个具有相同ID的记录不存在,但是一个有另一个ID。然后:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
UPDATE TableA
SET TableA.checkbox = true
WHERE NOT EXISTS(SELECT 1 FROM TableB
                 WHERE (TableB_Name=TableA.Name OR TableB.Surname=TableA.Surname)
                       AND TableB.ID=TableA.ID)
 AND EXISTS(SELECT 1 FROM TableB
            WHERE (TableB_Name=TableA.Name OR TableB.Surname=TableA.Surname)
                  AND TableB.ID<>TableA.ID)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36442691

复制
相关文章
laravel 增加不存在数据库的字段
作者:浮生若梦似水流年_ 链接:https://www.jianshu.com/p/b3778e996c3a 來源:简书 简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
全栈程序员站长
2021/10/25
1.2K0
josn字段中不存在数据或者不存在某个key进行sql查询时报错问题解决
//获取面试结果为已通过的 Integer passInterviewList = baseMapper.selectCount(new QueryWrapper<NeoCrmCustomerInterview>() .and(ele -> ele.eq("interview_status_init", CustomerInterviewEnum.PASS_WAIT_FEEDBACK.getCode()).or() .eq("interview_status_
botkenni
2022/03/24
8680
技术干货| MongoDB如何查询Null或不存在的字段?
点击下方公众号关注并分享,获取MongoDB最新资讯! 在MongoDB中不同的查询操作符对于null值处理方式不同。 本文提供了使用mongo shell中的db.collection.find() 方法查询null值的操作案例。案例中使用的inventory集合数据可以通过下面的语句产生。 db.inventory.insertMany([ { _id: 1, item: null }, { _id: 2 } ]) 等值匹配 当使用**{item:null}作为查询条件的时候,返回的是
MongoDB中文社区
2022/05/07
2.4K0
根据json字段搜索-优化不存在时容错处理
注意:在mybatis使用时,用到方法<![CDATA[sql语句]]>,否则解析会出问题
botkenni
2022/03/24
3350
SQL 把一个表内字段的值复制到另一个表内的特定字段
如果我们想要把一个表内某个字段的值,复制到另一个表内的另一个字段,那么我们怎么做呢? 假如我们想把a表的EmailAddress替换为b表的PasswordHash, 那么我们可以基于BusinessEntityID来识别每一行来进行匹配并更变数值。
繁华是客
2023/03/03
2.5K0
MySQL 重置 root 密码以及修改密码时报错password字段不存在
执行后报错  ERROR 1054(42S22) Unknown column ‘password’ in ‘field list’
全栈程序员站长
2022/07/19
2.1K0
MySQL 重置 root 密码以及修改密码时报错password字段不存在
SQL AUTO INCREMENT 字段
下列 SQL 语句把 "Persons" 表中的 "P_Id" 列定义为 auto-increment 主键:
acoolgiser
2019/01/17
1.3K0
Hive修改字段类型_hive表添加字段sql
hive修改字段类型语句:alter table 表名 change column 原字段名 新字段名 字段类型; alter table user_chain change column u_register u_registe date;(u_register原类型为string类型) 这样修改会报一个错误: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Unable to alter table. The following columns have types incompatible with the existing columns in their respective positions : u_registe 原因分析:hive内部的类型转换的限制。总结为: 1、我们能够修改整型字段为double类型字段,因为double类型能够承载整型数据, 但是我们修改double类型字段为整型字段会有问题,因为整型字段不能够满足double数据 2、任何类型基本都可以转为字符串,任何double、float、int类型的数据都可以作为字符串处理 3、数据类型的转换为转换后的数据不会截断原来的数据
全栈程序员站长
2022/10/04
6.5K0
JVM--字段访问优化
在实际中,Java程序中的对象或许 本身就是逃逸 的,或许因为 方法内联不够彻底 而被即时编译器 当成是逃逸 的,这两种情况都将导致即时编译器 无法进行标量替换 ,这时,针对对象字段访问的优化显得更为重要。
终码一生
2022/04/14
2620
JVM--字段访问优化
Mysql中用SQL增加、删除字段,修改字段名、字段类型、注释,调整字段顺序总结
事务(transaction)是由一系列操作序列构成的程序执行单元,这些操作要么都做,要么都不做,是一个不可分割的工作单位。
全栈程序员站长
2022/09/05
11K0
【sql修改字段类型大小】
之前在百度上面查询到修改字段的语句: alert table 表名 alter column 列名 类型【大小】null or not null; 但是执行完这句话后发现报错
全栈程序员站长
2022/09/07
1.5K0
【sql修改字段类型大小】
fastadmin 一个表中两个字段,关联另一个表同一个字段
例atten(关注表)中的userId(用户ID)和attenUserId(被关注用户ID),需要通过关联user(用户表)的id,获取user(用户表)的username(呢称)
正经人
2023/08/09
1.1K0
SQL注入爆破字段过程
在明确了SQL注入的类型和过滤字段之后,要开始爆破所需要得到的内容,一下是关于爆破阶段的一些过程,可以根据实际过滤的字段调整部分SQL语句。
KevinBruce
2020/03/20
2.2K0
sql修改字段类型大小
之前在百度上面查询到修改字段的语句: alert table 表名 alter column 列名 类型【大小】null or not null; 但是执行完这句话后发现报错
全栈程序员站长
2022/08/15
1.5K0
sql修改字段类型大小
常用数据库查询判断表和字段是否存在的SQL
常用数据库查询判断表和字段是否存在的SQL(如果结果为1表示存在,为0表示不存在)
好派笔记
2021/11/02
2.7K0
python读取表头——对比sql字段
大量文件需要写入数据库,时间跨度比较大,部分字段略作修改了 怎么对比各个文件的表头和sql字段是否一致 肯定不能一个一个打开去看,太麻烦了,而且上百个上千个文件呢 下面就是今天的小技巧,遍历访问文件,提取出表头
诡途
2022/05/09
8600
SQL对Xml字段的操作
SQL Server 2005 引入了一种称为 XML 的本机数据类型。用户可以创建这样的表,它在关系列之外还有一个或多个 XML 类型的列;此外,还允许带有变量和参数。为了更好地支持 XML 模型特征(例如文档顺序和递归结构),XML 值以内部格式存储为大型二进制对象 (BLOB)。
跟着阿笨一起玩NET
2018/09/18
2.2K0
SQL对Xml字段的操作
SQL语句增加字段、修改字段、修改类型、修改默认值[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/143685.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/31
4K0
点击加载更多

相似问题

连接不存在NULL的SQL字段

31

Facebook营销api访问不存在的字段

21

搜索字段不存在的表-访问VBA

10

Sql如果字段不存在,则插入行

23

cJSON字段不存在

011
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文