UPDATE m
SET m.class_code = 'new cod'
FROM models as m
inner join type a on m.model_number = a.model_number
WHERE a.type_number NOT IN ( 1, 10 )
AND m.class_code = 'UN'我有这个查询,在Ingres中,它不想运行。我不明白为什么。我确信它应该在MSSQL中工作,但在Ingres中,它抛出的错误e_us0845表不存在或不属于
发布于 2016-10-18 13:49:00
看起来在Paul发布的SQL中出现了一个轻微的语法错误。由于我是新堆叠溢出,我的代表不足以评论他现有的答案,所以我将添加这个单独的答案代替。
update models as m
from type as a
set m.class_code='new cod'
where m.model_number = a.model_number
and a.type_number not in (1,10)
and m.class_code='UN';发布于 2016-10-12 11:12:17
在Ingres语法中,更新。FROM只期望from部分中有一个或多个表名,因此您不能在那里使用内部联接语法。但是,由于它是内部的,而不是外部的连接,所以您可以将它写成:
UPDATE m
SET m.class_code = 'new cod'
FROM models as m
WHERE m.model_number = a.model_number
AND a.type_number NOT IN ( 1, 10 )
AND m.class_code = 'UN'这是等价的。
发布于 2017-02-23 20:59:10
不能将关联名称与更新目标一起使用。将set m.class_code='new cod'更改为set class_code='new cod',它将运行。
https://stackoverflow.com/questions/39989178
复制相似问题