求sql语句!在同一表中,如何根据一列包含的内容,替换另一列的数据?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求sql语句!在同一表中,如何根据一列包含的内容,替换另一列的数据?相关的知识,希望对你有一定的参考价值。

数据表包含“县域名称”和“地址”两个字段,当“地址”字段包含“南山区”时,将“县域名称”字段替换为“南山区”或“南海市南山区幸福路|"等数据,如下表:

参考技术A 数据量少时可以分多个语句实现:

update 表名 set 县域名称='南山区' where 县域名 ='南山市' and 地址 like '%南山区%'
update 表名 set 县域名称='北江区' where 县域名 ='北海市' and 地址 like '%北江区%'
数据量大时,则用模糊匹配

update 表名 set 县域名称=地址 where 县域名 like '%市'本回答被提问者采纳

sql 查询出一列内容,如何让它成一行显示。

如图,查询出了一列内容的日期,但是我想让它成一行显示。要求是每一列显示一个日期。这个要怎么写?求大神指导。

进行行转列下面是相关语法等

PIVOT 用于将列值旋转为列名(即行转列),在 SQL Server 2000可以用聚合函数配合CASE语句实现
PIVOT 的一般语法是:PIVOT(聚合函数(列) FOR 列 in (…) )AS P
注意:PIVOT、UNPIVOT是SQL Server 2005 的语法,使用需修改数据库兼容级别(在数据库属性->选项->兼容级别改为 90 )
SQL2008 中可以直接使用
完整语法:

table_source

PIVOT(

聚合函数(value_column)

FOR pivot_column

IN(<column_list>)

)

View Code
UNPIVOT 用于将列明转为列值(即列转行),在SQL Server 2000可以用UNION来实现

完整语法:

table_source

UNPIVOT(

value_column

FOR pivot_column

IN(<column_list>)

)
参考技术A --参考
SELECT STUFF((SELECT ','+ 字段名称 FROM 表名称 for xml path('')),1,1,'');

参考技术B --case when  可以进行横列转换

以上是关于求sql语句!在同一表中,如何根据一列包含的内容,替换另一列的数据?的主要内容,如果未能解决你的问题,请参考以下文章

sql语句如何在同一结果集显示某一列的值和其平均值

sql 查询出一列内容,如何让它成一行显示。

sql中如何使一列中的多个重复数据只显示第一条

我想更新sql 表1中的某一列数值,这个数值是从另外一个表中取出来的。语句怎么写

在线等。。。。SQL中如何将一个表中的某一列的数据替换到另一个表中的某一列里。

SQL 如何取出数据库中一列的所有值.....