SQL替换并插入到
我在SQL Server中有这个表“NamesTable”SQL替换并插入到,sql,sql-server,tsql,Sql,Sql Server,Tsql,我在SQL Server中有这个表“NamesTable” ID NameEnglish NameFrench ----------------------------------- 1 Loyalty Apple Null 2 Home Watermelon Null 3 Company Banana Null 我想在第二列中插入并替换相应的名称,如下所示 ID NameEnglish NameF
ID NameEnglish NameFrench
-----------------------------------
1 Loyalty Apple Null
2 Home Watermelon Null
3 Company Banana Null
我想在第二列中插入并替换相应的名称,如下所示
ID NameEnglish NameFrench
-----------------------------------------
1 Loyalty Apple Loyalty Pomme
2 Home Watermelon Home Melon
3 Company Banana Company Banane
这是我的疑问:
INSERT INTO NamesTable (NameFrench)
VALUES ('Frenchreplace')
SELECT
[ID],
NameEnglish AS [Frenchreplace],
REPLACE(REPLACE(REPLACE(REPLACE (NameEnglish, 'Apple', 'Pomme'),
'Watermelon', 'Melon'),
'Banana', 'Banane') AS [Frenchreplace]
FROM
NamesTable
查询将运行并替换所选单词,但不会插入到现有表中。我做错了什么?不知道您的
INSERT
查询的目标是什么。但你不需要这样
您需要一个更新
查询<代码>选择仅从表中检索,不修改或更改表
将选择
查询更改为更新
查询
如果您试图修改现有数据,您需要
更新
-一个选择
查询不会修改数据。@DaleK请查看我的更新感谢我的评论仍然有效-您需要一条更新语句。Insert用于插入新行(而不是列-该列从第一次插入时就存在),update用于修改现有行。您的问题非常令人困惑。看起来您想基于列NameEnglish
更新列nameefrench
。但是对于ID
2
,Orange
是如何变成西瓜的呢?@对不起,是的,这里没有橘子。我确实编辑了,谢谢
UPDATE N
SET NameFrench = REPLACE( REPLACE( REPLACE (
NameEnglish, 'Apple', 'Pomme'),
'Watermelon', 'Melon'),
'Banana', 'Banane')
FROM NamesTable AS N