我想要做的有点像 a Join
,但我希望表中的数据实际上与另一个表中的数据合并。
为了更清楚地说明这一点,我将更深入地解释这个问题,就其目前的形式而言,我的解释听起来相当愚蠢。
第一个表是dbo.Categories,它有像[Id], [Name_Good]
.
第二个表是dbo.Categories_Title包含像[Id], [Name], [Title_OK]
.
我想做的是合并两个表on Categories.[Name_Good] = Categories_Title.[Name]
。
所以dbo.Categories也会有[Title_OK]
来自另一个表的列,以及对应于条件的正确值。
因此,生成的 dbo.Categories 表应包含[Id], [Name_Good,[Title_OK]
.
INSERT Categories (Title_OK)
SELECT Title_Ok
FROM Categories_Title
WHERE Categories.Name_Good=Categories_Title.Name
我尝试使用此代码,但出现以下错误:
无效的列名“Title_OK”
您需要先更改Categories
表并添加一Title_Ok
列:
ALTER TABLE Categories ADD Title_Ok VARCHAR(MAX);
在此之后,您应该在这里进行更新,而不是插入:
UPDATE c
SET c.Title_Ok = ct.Title_Ok
FROM Categories c
INNER JOIN Categories_Title ct
ON c.Name_Good = ct.Name;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句