我希望images.url_id
值与urls.url_id
值相同。
这是我基于this提出的内容,但它不起作用。
update images
set images.url_id = urls.url_id
from images inner join urls
on images.url_id = urls.url_id
;
非常感谢任何帮助。
答案 0 :(得分:2)
这不起作用,因为在这些值相等的情况下,您尝试使用images.url_id
值更新urls.url_id
。你已经知道他们不是。
如果要将images.url_id
设置为等于urls.url_id
所需的{{1}},则需要使用匹配的列来为每行执行此类操作。
答案 1 :(得分:0)
问题在于您是根据自己想要的标准加入,而不是根据自己的标准加入。您需要加入两个表之间通用的另一个字段,或者创建一个临时表或CTE,以获得您想要的结果,然后加入到该表中。
答案 2 :(得分:-2)
CASE
表达式用于将一个表达式与SQL中的一组表达式进行比较。 CASE
表达式的结果是布尔值true
或false
。我们可以使用INSERT
,SELECT
,DELETE
和UPDATE
等各种DML语句和CASE
语句。
检查语法:SQL CASE
。