正在尝试向 SQL Server 2008 中的列添加前缀
Attempting to add a prefix to a column in SQL Server 2008
我正在尝试使用 'from' x table 添加带有条件的前缀,然后使用 where 指定 id
例如:
UPDATE tablenameX
SET columnnameX = 'prefix' + columnnameX
FROM tablenameY
WHERE columnnameY = 'id'
我真的不明白它在 columnnameX
之后拒绝读取的问题在哪里,我的意思是它可以毫无问题地执行,但是它忽略了我正在尝试使用的参数并且它适用于每个列条目。
我已经使用了很多这种简单的 SQL 命令,没有任何问题,我不知道如何修复它,也不知道如何构建本质上更复杂的东西 -我是新手,请多多包涵。
我不确定连接条件是什么,因为您没有告诉我们 X 和 Y 是如何相关的,但是相关连接看起来像这样:
UPDATE x
SET x.columnnameX = 'prefix' + x.columnnameX
FROM dbo.tablenameX AS x
INNER JOIN dbo.tablenameY AS y
ON y.< ??? something ??? > = x.< ??? something ???>
WHERE y.columnnameY = 'id';
或者像这样:
UPDATE x
SET x.columnnameX = 'prefix' + x.columnnameX
FROM dbo.tablenameX AS x
WHERE EXISTS
(
SELECT 1 FROM dbo.tablenameY AS y
WHERE columnnameY = 'id'
AND y.< ??? something ??? > = x.< ??? something ???>
);
我正在尝试使用 'from' x table 添加带有条件的前缀,然后使用 where 指定 id
例如:
UPDATE tablenameX
SET columnnameX = 'prefix' + columnnameX
FROM tablenameY
WHERE columnnameY = 'id'
我真的不明白它在 columnnameX
之后拒绝读取的问题在哪里,我的意思是它可以毫无问题地执行,但是它忽略了我正在尝试使用的参数并且它适用于每个列条目。
我已经使用了很多这种简单的 SQL 命令,没有任何问题,我不知道如何修复它,也不知道如何构建本质上更复杂的东西 -我是新手,请多多包涵。
我不确定连接条件是什么,因为您没有告诉我们 X 和 Y 是如何相关的,但是相关连接看起来像这样:
UPDATE x
SET x.columnnameX = 'prefix' + x.columnnameX
FROM dbo.tablenameX AS x
INNER JOIN dbo.tablenameY AS y
ON y.< ??? something ??? > = x.< ??? something ???>
WHERE y.columnnameY = 'id';
或者像这样:
UPDATE x
SET x.columnnameX = 'prefix' + x.columnnameX
FROM dbo.tablenameX AS x
WHERE EXISTS
(
SELECT 1 FROM dbo.tablenameY AS y
WHERE columnnameY = 'id'
AND y.< ??? something ??? > = x.< ??? something ???>
);