SQL-Update语句
Posted 奇遇yms
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL-Update语句相关的知识,希望对你有一定的参考价值。
根据 levelCodeName 更新 levelCode
建表语句
CREATE TABLE `sy_cd_ms_tag_level` ( `id` int(10) NOT NULL AUTO_INCREMENT, `bigId` int(10) NOT NULL COMMENT \'大类编码\', `bigName` varchar(100) COLLATE utf8_bin DEFAULT NULL COMMENT \'大类名称\', `fieldCode` int(2) DEFAULT NULL COMMENT \'来源字段类型\', `fieldCodeName` varchar(100) COLLATE utf8_bin DEFAULT NULL COMMENT \'范围类型名称\', `levelScore` int(10) NOT NULL, `levelCodeName` varchar(100) COLLATE utf8_bin DEFAULT NULL COMMENT \'相关度等名称\', `levelCode` int(2) DEFAULT NULL COMMENT \'相关度等级代码\', PRIMARY KEY (`id`), KEY `bigId_idx` (`bigId`), KEY `fieldCode_idx` (`fieldCode`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
更新语句
UPDATE sy_cd_ms_tag_level t1,( SELECT id,levelCodeName, CASE WHEN levelCodeName = \'五星级\' THEN \'5\' WHEN levelCodeName = \'四星级\' THEN \'4\' WHEN levelCodeName = \'三星级\' THEN \'3\' WHEN levelCodeName = \'二星级\' THEN \'2\' WHEN levelCodeName = \'一星级\' THEN \'1\' WHEN levelCodeName = \'零星级\' THEN \'0\' END as levelCode FROM sy_cd_ms_tag_level )t2 set t1.levelCode=t2.levelCode where t1.id=t2.id
以上是关于SQL-Update语句的主要内容,如果未能解决你的问题,请参考以下文章
ORACLE/SQL - UPDATE 语句问题(需要 OR 一些集合)