sách gpt4 ai đã đi

Cập nhật bảng tạm thời đã tạo một cách động? Nền tảng?

In lại 作者:行者123 更新时间:2023-12-04 04:48:37 27 4
mua khóa gpt4 Nike

tôi có Table-A,其中有“x”行。 (对于这个例子有 8 行)

我通过使用游标创建了列数为“x”的Table-C。 (使其动态化;如果将更多行添加到 Table-A,则会在 Table-C 中创建更多列)

Table-C (x = 1 thru 8) UserID 1 2 3 4 5 6 7 8

创建Table-C后,根据从网页输入框传回的userID,将行插入Table-C。 (这是动态完成的)

Table-C after inserts: UserID 1 2 3 4 5 6 7 8 57 null null null null null null null null 74 null null null null null null null null  

现在我想执行更新
Table-B 包含列“x-column”将 UserID 与创建的 Table-C

中的列相关联的数据
Table-B: UserID x-column 34 2 34 3 57 2 57 3 57 8 74 2 74 4 74 5 74 7 74 8 93 2 93 4  

所以最终结果是用 1 动态更新 Table-C 其中 Table-B.UserID = Table-C.column_heading

Table-C after update should look like this: UserID 1 2 3 4 5 6 7 8 57 null 1 1 null null null null 1 74 null 1 null 1 1 null 1 1  

我很难弄清楚构建一个 UPDATE 循环的语法来解决这个问题。我需要使用游标吗?

我很确定这不是火箭科学,我还在学习!

1 Câu trả lời

在没有看到您的整个过程的情况下,这是我关于如何执行此操作的建议。部分问题是 tablec 的结构,因此要执行此操作,您首先要使用 UNPIVOT 函数逆透视 tablec 并插入到临时表:

select userid,
value,
cột
into #temp
from tablec
unpivot
(
value for col in ([1], [2], [3], [4], [5], [6], [7], [8])
) u

其次,使用tableb更新临时表中的数据:

update t
set value = b.cnt
from #temp t
left join
(
select count(x_column) cnt, x_column, userid
from tableb
group by x_column, userid
) b
on t.userid = b.userid
and t.col = b.x_column

最后,使用PIVOT函数将数据转换回你想要的格式:

select *
từ
(
select userid, value, col
from #temp
) x
pivot
(
max(value)
for col in ([1], [2], [3], [4], [5], [6], [7], [8])
) p

Xem thêm SQL Fiddle with Demo .

一些建议是查看您是否需要实际创建 tablec,如果不需要,则可以在执行 PIVOT 时创建它,那么数据就是你需要的最终结果。但是,您可以将数据保留为行格式,然后像我一样将其作为列返回。

如果要转换的列数量未知,则可以使用动态 sql 执行。

关于sql - 动态更新创建的临时表?基本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13038444/

27 4 0
Bài viết được đề xuất: command-line - 从命令行构建 .car ColdFusion 存档
Bài viết được đề xuất: f# - 阴影和嵌套函数
Bài viết được đề xuất: perl - 在Windows中使用dos批处理程序的原因是什么?
Bài viết được đề xuất: data-binding - Xpages 重复绑定(bind)数据
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com