一条比较复杂的update sql语句

前两天花了俩天时间录入的数据,结果发现少了一列,电压等级!!!

再重新录一遍简直是要了人的老命了!思考一条update语句完成更新操作


已有的表:

一张电压表(电压id,具体电压)

母线表,线路表,主变表

主变圈阻表


select * from T_CIM_ACLINESEGMENT  -- 线路表

select * from T_CIM_BASEVOLTAGE --电压表,电压id  对应具体电压

select * from T_CIM_TRANSFORMERWINDING --变压器圈阻(缠绕在变压器上的线圈)
-- 上面表中wind_type值分别为 0 1,2(高压端,中端,低压端),变压器的电压是由高压端决定的  

select * from T_CIM_POWERTRANSFORMER -- 主变表

select * from T_CIM_BUSBARSECTION  -- 母线表

select * from T_REP_JXJH_YEAR_BAK
--根据其他表之间的关联关系讲上表中的DYDJ(电压等级)更新,现在这个表里面有线路,母线,主变

select * from t_rep_jxjh_year

update T_REP_JXJH_YEAR AA set AA.dydj = BB.dyname,AA.state='已批准' from 
(
select aa.id,aa.name,bb.name as dyname from T_CIM_ACLINESEGMENT aa,T_CIM_BASEVOLTAGE bb where aa.bv_id = bb.id
union
select t2.id,t2.name,t1.dyname as dyname from 
(
select a.id,a.name,a.tr_id,b.name as dyname from T_CIM_TRANSFORMERWINDING a,T_CIM_BASEVOLTAGE b 
where a.bv_id = b.id and wind_type = '0'
) t1,T_CIM_POWERTRANSFORMER t2
where t1.tr_id = t2.id
union
select a.id,a.name,b.name as dyname from T_CIM_BUSBARSECTION a,T_CIM_BASEVOLTAGE b 
where a.bv_id = b.id
) BB where AA.equid = BB.id



### 回答1: UPDATE语句用于修改SQL数据库表中的现有数据。 基本语法如下: ``` UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition; ``` 其中,`table_name`是要更新数据的表的名称,`column1`、`column2`等是要更新的列名称,`value1`、`value2`等是要更新的值,`condition`是用于指定要更新哪些行的WHERE子句。 例如,将“students”表中所有名为“John”的学生的年龄更新为25岁,可以使用以下SQL语句: ``` UPDATE students SET age = 25 WHERE name = 'John'; ``` ### 回答2: UPDATE语句用于对数据库中的表进行更新操作。根据指定的条件,可以更新表中的一行或多行数据。下面是一个用于更新SQL语句的示例: 假设我们有一个名为"students"的表,包含了"ID"、"姓名"、"年龄"和"成绩"等列。 要更新某个学生的成绩,可以使用以下的SQL语句: ``` UPDATE students SET 成绩 = 95 WHERE ID = 1; ``` 以上语句将把ID为1的学生的成绩更新为95。 如果要更新多列数据,可以使用逗号将每个列的更新语句分隔开。例如,更新学生的姓名和年龄可以使用以下的SQL语句: ``` UPDATE students SET 姓名 = '张三', 年龄 = 18 WHERE ID = 2; ``` 此语句将把ID为2的学生的姓名更新为"张三",年龄更新为18。 如果想要更新表中的所有行,可以省略WHERE子句。例如,将所有学生的成绩加10分,可以使用如下的SQL语句: ``` UPDATE students SET 成绩 = 成绩 + 10; ``` 以上语句将表中所有学生的成绩都增加10分。 在编写UPDATE语句时,需注意语法的正确性和更新的条件,否则可能导致数据更新错误或无法更新。另外,为了确保数据的安全性,更新操作前最好先备份数据库。 ### 回答3: 更新SQL语句是用于更新数据库表中已有数据的操作。在SQL中,我们使用UPDATE语句来执行此操作。 UPDATE语句的基本语法如下: UPDATE 表名 SET 列名1 = 新值1, 列名2 = 新值2, ... WHERE 条件; 其中,表名表示需要更新的数据库表名称。SET子句用于指定更新后的值,其中列名表示要更新的列名,新值表示要设置的新值。而WHERE子句用于指定更新的条件,只有满足条件的行才会被更新。 例如,假设我们有一个名为"students"的表,包含学生的信息,包括学生姓名和年龄。如果我们要将名为"张三"的学生年龄改为20岁,可以使用以下UPDATE语句UPDATE students SET age = 20 WHERE name = '张三'; 这条语句会更新"students"表中名为"张三"的学生的年龄为20岁。如果存在多个满足条件的行,那么所有满足条件的行都将被更新。 总结来说,UPDATE语句是用于更新数据库表中已有数据的操作。通过指定表名、设置要更新的列及其新值,并通过WHERE子句来指定更新的条件,我们可以用UPDATE语句来执行灵活的数据更新操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值