sql-server - 使用其他表中的随机值更新 SQL 表

标签 sql-server

在 Microsoft SQL Server 2008 上,我有一个包含产品的表:

ID |名称 |默认图像Id

还有一张带有图片的:

ID |产品编号 |字节

我想运行一个 Update 语句,该语句使用图像表中的随机 ID(通过 ProductId 列与产品相关)更新 Products 表中所有记录的 DefaultImageId。

有人可以帮忙吗?对于任何 SQL 冠军来说都应该很简单(这显然不是我)..

最佳答案

使用所选答案解决@philreed 的问题:

Is there a way to assign each row being updated with a different value randomly chosen from the source table?

UPDATE Products
SET DefaultImageId = t2.Id
FROM Products t1
CROSS APPLY (
    SELECT TOP 1 Id
    FROM Images
    WHERE t1.Id = t1.Id
    ORDER BY newid()
    ) t2    

关于sql-server - 使用其他表中的随机值更新 SQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1289600/

相关文章:

c# - 在 SQL Server 2008 中,如果我不希望它为空,我应该使用什么默认日期?

sql-server - ACOS 函数的 SQL 2012 错误

sql - 这个 SELECT 语句有什么作用?

sql - 生成唯一的字母数字 ID

sql - Flyway Migrate [SQL] - 处理对象依赖性

sql-server - 无主键的聚集索引

sql - 将多对多关系中的所有相关记录分组,SQL 图形连接组件

c# - 错误 : The conversion of a nvarchar data type to a smalldatetime data type resulted in an out-of-range value

sql - 运行 SQL 查询 - 超时

c# - 使用 C# 连接到 SQL Server 2012 数据库 (Visual Studio 2012)