sql update set select 怎么结合 5C

如何实现
update BAS_COMPANY set TYPE ='5' where COMNO = (select * from hbposev9..t_bd_supcust_info where supcust_flag ='C')
更新里 含查询
更新BAS_COMPANY表内TYPE列为5
条件是另外 hbposev9..t_bd_sup表里 supcust_flag为C

0

15个回答

可以先把需要更新的数据查出来。先用select * from table where table.column='';确定这条数据是你需要修改的。然后在加上update查出来的数据。
update table set table.column='' where table.column in(select table.column from table where table.column='');

1

updata
BAS_COMPANY a
LEFT JOIN hbposev9..t_bd_sup b ON a.COMNO = b.???(这里的字段自己加一下..我也不知道你写的啥)
SET
a.TYPE ='5'
WHERE
b.supcust_flag ='C'

很简单的联查

1

补充一下...select的作用是选择并显示...任何语句都可以查询

1

UPDATE TABLE_NAME
SET column_name1 = VALUE WHRER column_name2 = VALUE

1

update BAS_COMPANY
set TYPE = '5'
where COMNO in
(select COMNO from hbposev9 .. t_bd_supcust_info where supcust_flag = 'C')

1

就是一个子查询与修改结合使用

0

等于号改成in就可以了..

0

如果 select是个结果集的话 等号需要换成in select * 需要换成具体的列 (应该就是这样了)

0

将where中的=换成in,然后将seclet后面的* 换成具体的列名即可

0

这要看你后面的查询的结果有几个,如果就一个用=就可以,但是子查询如果有多个结果,用=就会报错,用in比较好。
in表示你要的东西在子查询查到的结果中

0
共15条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
SQL中update与update select结合语法详解与实例
本文主要介绍了通用的简单的update语句以及GreenPlum、MySQL、Oracle、SQLServer数据库的update与select相结合的用法以及实例。
mysql中update和select结合使用
在遇到需要update设置的参数来自从其他表select出的结果时,需要把update和select结合使用,不同数据库支持的形式不一样,在mysql中如下:update A inner join(select id,name from B) c on A.id = c.id set A.name = c.name;根据AB两个表的id相同为条件,把A表的name修改为B的sql语句就如上所示...
SQL 多表复合查询修改 update set select
SQL Server 多表复合查询修改 update t3 set t3.value = 0 from t1, t2, t3 where t2.id2 = t1.id1 and t2.id2 = t3.id3 and t3.id3 = 100 查询 t1 t2 t3 的关联信息,修改 t3 的一个字段。
Update小用法一则,在update后面接select表
红色部分为重点,update后面接了一个select表,可以以此表中字段做where条件或set语句等号后面的内容 简单来说就是UPDATE后面可以接子查询,虽然前面这句话感觉怪怪的
update的where中如何做sum并判断
update table_name                                     set status = 2  where               #{cnum} =      ( select v.cSum from                                                 (                  
sql更新语句中update set from用法
        执行一般的sql更新语句为update table_name set column_name=value where column_name1=value1;但是我们有时候需要将某个表用的字段根据两个表中相关字段更新为另一个表中某个字段的数据,即a表中主键aid在b表中有个外键bid相关,b表中字段b需要根据a、b表对应id更新为a表中字段c的数据,如果根据以上的sql一条一条的更...
update set 单表同列多行数据
UPDATE dbo.PRM_street  SET SheQuShu=(SELECT sl FROM ( SELECT street ,                             COUNT(1) sl                      FROM   dbo.PRM_SheQu                      WHERE  SheQu NOT IN ( '大洋',...
UPDATE SET a.id = (select) 关联多张表更新多条记录
UPDATE wallet_account_trade_record A SET A.shop_id =( SELECT c.shop_id FROM mob_checkout_counter.payment_data_info B,mob_checkout_counter.checkout_record c WHERE A.clie...
在sybase数据库存储过程中使用select for update 获取更新序列号
在笔者之前的项目中获取流水号的实现如下:序列号定义在一张表的某个字段中,通过select查询该字段,并且update  +1,从而实现获取自增流水号。 但在高并发的环境中,会出现流水号重复的情况。后来通过 select for update 控制并发,存储过程代码如下: create proc getTransSeqNo1 @returnId numeric(10) output   
mysql将select结果集作为update的where条件时的SQL语法
废话不多说,直接上代码: UPDATE table_nameAS tab1 INNER JOIN (SELECT * FROM table_nameWHERE column= value) AS tab2 SET tab1.column = value WHERE tab1.id = tab2.id
转贴:Oracle中的 UPDATE FROM 解决方法
此贴转自:http://blog.csdn.net/wzy0623/archive/2007/06/26/1666744.aspx在此先向原文作者致谢了。表的更新操作中,在很多情况下需要在表达式中引用要更新的表以外的数据。象sql server提供了update的from 子句,可以将要更新的表与其它的数据源连接起来。虽然只能对一个表进行更新,但是通过将要更新的表与其它的数据源连接起来,就可以
SQL中SET和SELECT赋值的区别
SQL中SET和SELECT赋值的区别,标量子查询
sql语句中不能同时对一张变进行select和update或者delete操作
在进行sql查询时如果对一张表进行select的同时不能进行操作在这个sql语句中同时对w_wkn这张表进行了select查询操作,同时也进行了delete操作,这样的sql执行会报错 You can't specify target table 'w_wkn' for update in FROM clause正确的做法是操作第二张表,或者进行一张临时表这样就没问题。...
sql 同时(更新)update和(查询)select同一张表
当要使用本表的数据更新本表时,容易出错:如下:update b set aaa=select max(MAX_def_60M) as max from b[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the r...
数据库update语句中where后跟IN和EXISTS效率测试
数据库 update后where语句中的IN、EXISTS的效率测试
MySQL update语句嵌套select语句同一张表
今天在更新一条记录时,突然发现自己竟然连update时嵌套使用select都不会用。摸索着写了一条,还报错了。类似如下CREATE TABLE t3( num1 SMALLINT, num2 SMALLINT );INSERT INTO t3 VALUES(20,10),(30,40); num1 num2 20 10 30 40 UPDATE t3 SET num1=( SE
MYSQL update多条Select出来的数据 SQL写法
下面是这样一个例子: 两个表a、b,想使b中的memo字段值等于a表中对应id的name值 表a: 1 2 3 4 id name 1 王 2 李 3 张 表b: 1 2 3 4 id ClientName 1 2 3 网上
MyBatis的动态sql_set与if结合的动态更新
MyBatis的动态sql_set与if结合的动态更新 EmployeeMapperDynamicSQL.java package com.cn.mybatis.dao; import java.util.List; import com.cn.zhu.bean.Employee; public interface EmployeeMapperDynamicSQL { //
sql server update多个字段(可以通过一个子查询更新多字段)
1、update语句使用别名 我们通常的update语句是这样写的: update table set coumn1 = value1 where column2 = "test"; 如果我们想用别名的话,我们会这样去写: update table t set t.coumn1 = value1 where t.column2 = "test"; 但是这样是会报错的,正确的写法是这样的...
SQL update in 更新多条语句
子查询返回的值不止一个。当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。
数据库_基础知识_MySQL_UpdateSelect(根据查询出来的结果批量更新)
有两个表:SPEC1、tmpDOT SPEC1种一列为:HIGH tmpDOT共有两个:OLD、NEW 两个表的内容大概如下: SPEC1: ... HIGH ... ... A    ... ... B    ... ... A    ... ... C    ... ... B    ... ... D    ... tmpDOT: OLD   NEW A
update 结果集的优化
表记录条数: SELECT count(1) from db.table1 原sql: UPDATE db.table SET attr1 =1 WHERE attr2 IN ( SELECT A.attr2 FROM ( SELECT attr2 FROM db.table WHERE attr3=3...
update 无报错注入
在mysql中,字符串和数组进行或运算时,将得到数字。但是需要注意的是,这个特性需要在MySQL的非严格模式下才可以使用。非严格模式概念:很多集成的PHP环境(PHPnow WAMP Appserv等)自带的MySQL貌似都没有开启MySQL的严格模式。何为MySQL的严格模式,简单来说就是MySQL自身对数据进行严格的校验(格式、长度、类型等),比如一个整型字段我们写入一个字符串类型的数据,在非...
SQL MySql下SELECT的结果集作为UPDATE的WHERE条件时的SQL语法
这样是不行的 UPDATE `table_name` SET `column_1` = value WHERE `column_2` IN (SELECT * FROM `table_name` WHERE `column` = value) 必须得这样: UPDATE `table_name` AS alias_1 INNER JOIN (SELECT * FROM `table_na...
[Mysql语法]--update inner join使用(批量更新)
一:需求 A表和B表的表结构相同,A表是历史表,B表是增量数据表;想要根据关联条件更新A表中的数据。 二:表结构 CREATE TABLE `A` (   `id` bigint(20) NOT NULL AUTO_INCREMENT,   `bid` bigint(20) NOT NULL ,   `sid` bigint(20) NOT NULL ,   `grid` bigint(2...
Web测试
-
mysql5.7中的一个update order by排名问题解决办法(一条sql搞定排名)
在作排序时,发现update中的orderby 不起作用,业务功能:按照syl字段进行降序排名:在mysql5.6版本中运行的sql如下: UPDATE (SELECT @a := @a + 1 AS rn, id, syl FROM t_user_syl h, (SELECT @a := 0 ) t where h.day=${day}
sql使用update set case when 实现一条语句批量更新
比如有一张user表  有字段username(用户名),status(状态)   表中有三条数据 username = &quot;张三&quot; status = 1,username = &quot;李四&quot; status = 0, username = &quot;王五&quot; status = 1现在要将username更新为拼音,sql如下UPDATE USER SET username = ( CASE username W...
informix关联表update数据
informix关联表update数据: 1.关联两个表   Update A set A.type= (select B.type from B where B.ID= A.ID) where exists (select 1 from B where B.ID = A.ID);  注意:Informix中Update操作不支持表的别名。  ...
JOOQ系列(一)实现CRUD操作
一、什么是JOOQ JOOQ 是基于Java访问关系型数据库的工具包。JOOQ 既吸取了传统ORM操作数据的简单性和安全性,又保留了原生sql的灵活性,它更像是介于 ORMS和JDBC的中间层。对于喜欢写sql的码农来说,JOOQ可以完全满足你控制欲,可以是用Java代码写出sql的感觉来。就像官网说的那样 : get back in control of your sql (重新控制
【SQLServer并发问题,先SELECT后UPDATE,避免并发脏读情况解决】
在SQL Server中,需要对数据操作进行先SELECT 之后UPDATE,对于这样的操作,如果出现高并发,可能导致脏读情况的发生。不能保证数据的同步。 解决方案是在事物中对表进行加更新锁: 事物一: begin tran declare @count int =0 select @count=[Count] from tb_name WITH(UPDLOCK,HOLDLOCK) whe
update left join 多表关联更新,
UPDATE table_1 t1 left join table_2 t2 on t2.id = t1.tid SET t1.username = t2.uname where t1.id>5; 单张表自联,多表关联更新都可以。
update 更新时 条件是select自己表数据
UPDATE bp_transfer_acc b SET b.remark = '12312d' WHERE     b.taid IN (         SELECT             t.taid         FROM             (                 SELECT                     a.taid                 FR...
SQL语句的写法:update语句中 case...when 用法
update语句结合case when例子: 根据master_id和class_idx来更新数据 如图: sql语句:update table_name   set ins_comp_id='111',bxgs_fl_id='111', total_money =  case class_idx when 'JQX' then '900' when 'SYX' then '2
SQL Group By和Update表别名 查找数据冲突
做了一个系统,开始的时候设计的有问题。 司机表中有ID ,工号等字段,但是工号原则上不能重复,ID是主键。 有一次发现有问题,可能是工号重复了,这可能是当初手动插入数据的时候弄得。 现在要找到重复的那个数据。 下面的语句即可   select *  from   (SELECT count(*) as c,gh FROM tb_driver group by gh ) as
mysql update使用子查询
今天我像以前操作Oracle写了一个update sql: update device_user a set a.scene_id=null where a.id not in(select min(t.id) from device_user t group by t.device_id); 根据子查询的结果,更新表中的一个...
oracle update 实现多行多列更新
在网上看到的,记录下,实现多行多列更新 update table1 r set (r.city,r.COUNTY,r.CELL_NAME,r.CELL_UK)  =  ( select      m.company_name,m.COUNTY_NAME,m.cell_name,m.cell_uk     FROM table2 m where m.flow_id = r.flow_
informix的锁和隔离机制1
http://unix-cd.com/vc/www/17/2009-01/12919.html 本文讲述INFORMIX数据库锁的基本原理,由2部分组成。IDS是OLTP应用及内嵌式系统的最佳解决方案。通过本文可以帮助你理解数据 库锁的使用方法,便于你及时处理、分析锁冲突。 介绍 在多用户数据库系统中拥有成千上万的并发用户在同时访问数据,因此我们需要有某种机制来...
PL/SQL出现“这些查询结果不可用,请包括 ROWID 或使用 SELECT ... FOR UPDATE 获得可更新结果”提示
我们在使用PL/SQL的时候,有时候需要对表中的数据进行修改,但是会出现 “这些查询结果不可用,请包括 ROWID 或使用 SELECT … FOR UPDATE 获得可更新结果” 提示,结果方法有三种: 第一种:从table下找到你打开的表,右击 -&amp;gt; 选择“编辑数据”,而不是选择“查看数据”,问题解决可以编辑数据了。 第二种:在语句后面加 for update 你用了:select t...
经典SQL语句大全 update select delete drop create
经典SQL语句大全 update select delete drop create经典SQL语句大全 update select delete drop create经典SQL语句大全 update select delete drop create经典SQL语句大全 update select delete drop create