SQL INNER JOIN - THROWING错误

时间:2016-02-16 05:36:20

标签: sql oracle

我正在尝试使用INNER JOIN加入两个表。一旦我运行下面的连接查询,我收到一条错误消息:

  

ORA-00942:表格或视图不存在
  00942. 00000 - “表或视图不存在”
  *原因:
  *操作:
  行错误:31列:12

我不确定它究竟是什么问题。请帮助!!!

SELECT 
    CST_GIFT_REG_OWNER_MAP.REGISTRY_ID, CST_GIFT_REG_OWNER_MAP.CUST_ID, 
    CST_GIFT_REG_OWNER_MAP.NICKNAME, 
    CST_GIFT_REG_OWNER_MAP.PRIMARY_FLAG, CST_GIFT_REGISTRY.EVENT_NAME, 
    CST_GIFT_REGISTRY.EVENT_TYPECODE,
    CST_GIFT_REGISTRY.EVENT_DATE, CST_GIFT_REGISTRY.EXPIRATION_DATE, 
    CST_GIFT_REGISTRY.PUBLISHED_FLAG,
    CST_GIFT_REGISTRY.IMAGE_DATA, CST_GIFT_REGISTRY.COMMENTS, 
    CST_GIFT_REGISTRY.CREATE_USER, CST_GIFT_REGISTRY.UPDATE_USER
FROM
    CST_GIFT_REG_OWBER_MAP
INNER JOIN 
    CUST_GIFT_REGISTRY ON CST_GIFT_REG_OWNER_MAP.REGISTRY_ID = CST_GIFT_REGISTRY.REGISTRY_ID;

4 个答案:

答案 0 :(得分:1)

问题在这里

INNER JOIN     的 CUST_GIFT_REGISTRY ON CST_GIFT_REG_OWNER_MAP.REGISTRY_ID = CST_GIFT_REGISTRY .REGISTRY_ID;

在加入时,您使用CUST_GIFT_REGISTRY作为表,但在将其引用到连接条件时,您使用CST_GIFT_REGISTRY作为表。

根据您的表定义更改第一次出现的表,反之亦然。

答案 1 :(得分:0)

这是错误:

INNER JOIN
   CUST_GIFT_REGISTRY

您应该以这种方式将CUST_GIFT_REGISTRY更改为CST_GIFT_REGISTRY

INNER JOIN
    CST_GIFT_REGISTRY

答案 2 :(得分:0)

伙计,检查一下:

INNER JOIN 
CUST_GIFT_REGISTRY ON CST_GIFT_REG_OWNER_MAP.REGISTRY_ID = CST_GIFT_REGISTRY.REGISTRY_ID;

所以表名是 CUST_GIFT_REGISTRY ?或 CST_GIFT_REGISTRY

想出来并使用正确的表将解决这个问题。

作为建议,请重命名您的表格,对于数据库和阅读您的代码的人来说,了解您正在做的事情会更容易

答案 3 :(得分:0)

 INNER JOIN 
    CST_GIFT_REGISTRY ON CST_GIFT_REG_OWNER_MAP.REGISTRY_ID = CST_GIFT_REGISTRY.REGISTRY_ID;

这可能会帮助你