繁体   English   中英

将另一个表中的值插入到值为 null 的列中

[英]Inserting values from another table into a column where values are null

我有一个只有 ID 的表 A,另一个表 B 有两列,ID 和产品编号。 表 B 中的 ID 列有空值,产品编号有产品编号。 我想以没有特定顺序的列中的 ID 更新表 B,以便产品编号具有 ID。

我试过使用更新但没有用,试过插入但它只是将 A 中的 ID 添加到 B 中列表的底部。想在 Microsoft SQL 中执行此操作。

SQL 密码试过:

IF OBJECT_ID('tempdb..#ProductNum') IS NOT NULL DROP TABLE #ProductNum

SELECT  ID
INTO    #ProductNum
FROM    Products

    

UPDATE  [ProductCatalogue] PC
SET
PC.ID = Pn.ID
FROM #ProductNum Pn
INNER JOIN 
[ProductCatalogue] PC   
ON Pc.ID = Pn.ID
WHERE Pc.ID IS NULL

听起来你最好使用 ID 列自动增量,而不是从表 A 中给它 ID。这已经在这个答案中解释过了。

如果您确实需要表 A 中的特定 ID, SO 线程可能会对您有所帮助。

通过在每个表上创建自动递增列并将其命名为Row_ID解决了这个问题。 然后我使用Row_ID将表与上面@Chris 提供的一些逻辑连接在一起。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM