首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ingres的最新情况

ingres的最新情况
EN

Stack Overflow用户
提问于 2016-10-12 01:31:06
回答 3查看 1.9K关注 0票数 0
代码语言:javascript
复制
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表不存在或不属于

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-10-18 13:49:00

看起来在Paul发布的SQL中出现了一个轻微的语法错误。由于我是新堆叠溢出,我的代表不足以评论他现有的答案,所以我将添加这个单独的答案代替。

代码语言:javascript
复制
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';
票数 2
EN

Stack Overflow用户

发布于 2016-10-12 11:12:17

在Ingres语法中,更新。FROM只期望from部分中有一个或多个表名,因此您不能在那里使用内部联接语法。但是,由于它是内部的,而不是外部的连接,所以您可以将它写成:

代码语言:javascript
复制
   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'

这是等价的。

票数 1
EN

Stack Overflow用户

发布于 2017-02-23 20:59:10

不能将关联名称与更新目标一起使用。将set m.class_code='new cod'更改为set class_code='new cod',它将运行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39989178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档