sql - SQL Server:连接行/或列并将结果更新为列
问题描述
以下情况:
我有一个动态(按列)构建的表......例如:
Rowid UniqueID Name Birthdate Town ....
1 null Joe Jan-93 Cologne
2 null Nick Okt-00 London
我正在构建这个 TempTable 为我的数据库中的所有数据创建一个 uniqueID TempTable 是由两个循环创建的,这些循环遍历我的所有数据库表和列,并将所有主键数据复制到这个 TempTable。
我的目标是使用数据的 concat 值更新我的 TempTable 中的 UniqueID 列......例如:
UniqueID
JoeJan-93Cologne
NickOkt-00London
您知道如何更新 UniqueID 吗?
我在想的是:
Loop 1 going through all Tables
Select Table of Schema
Loop 2 going through all Columns of Table
Select Column of Schema
Copy Column to my Temp
-- here an update like ... set UniqueID = select concat(UniqueID, @Column)
-- from @table where RowID = RowID
End loop 2
end loop 1
这可能吗?或者我是否必须打开第三个循环,该循环遍历所有行和连接值?
解决方案
你可以试试这个
Update <YourTableName>
set UniqueId = ISNULL(Name, '') + ISNULL(Cast(Birthdate as Varchar(10), '') + ISNULL(Town, '')
推荐阅读
- php - 无法从 JWT 解码凭证
- oracle11g - 如何在 Oracle BI 中更新安全凭证
- reactjs - npx create-react-app 使用旧版本运行
- glsl - 用于无绑定使用的 GLSL 中的 Sampler2D 纹理数组
- html - 我可以以某种方式更改要显示的表格的顺序吗?
- database - Grails 应用程序中特定表条目的详细信息
- go - 为什么 pprof heap inuse_space 小于 container_working_set_size?
- node.js - Mkcert 在 Node docker 容器上生成 rootCA,Browsersync over https 不安全
- php - 使用 fsockopen 连接到在另一个 PHP 实例中打开的监听端口
- shopify-app - Shopify 节点应用未显示应用嵌入主题设置