内连接错误

时间:2018-04-17 04:26:38

标签: sql oracle oracle11g

我正在尝试练习内部联接,但是徒劳无功。即使我已经创建了表格和数据,我也在执行内部联接语句时获取表不存在错误

请帮助我。另外,它显示客户与连接图的其余部分断开连接。

我曾尝试对表名使用双引号,但随后它会给出不同的错误

  

ORA-00904:" CUSTOMERS"。" CUSTOMER_ID":无效的标识符
  00904. 00000 - "%s:无效标识符"   *原因:
  *操作:

SELECT
    Orders.OrderID,
    Customers.CustomerName
FROM
    Orders
    inner join Customers on Orders.Customer_Id = Customers.Customer_Id;

Oracle 11gSYS是所有者。

1 个答案:

答案 0 :(得分:1)

问题可能是由于您的 pthread_mutex_lock(&g_lock); if (g_cur >= g_numfull){ // No works to do, just quit return NULL; <-- mutex is still locked here } // Get the file name char *filename = g_job_queue[g_cur]; g_cur++; pthread_mutex_unlock(&g_lock); 语句包含双引号表名称,全部为大写。请记住,默认情况下,oracle始终以大写形式存储表名和列名,除非您在 pthread_mutex_lock(&g_lock); if (g_cur >= g_numfull){ // No works to do, just quit pthread_mutex_unlock(&g_lock); return NULL; } // Get the file name char *filename = g_job_queue[g_cur]; g_cur++; pthread_mutex_unlock(&g_lock); 语句中使用了带有不同大小写的双引号字符串。应避免使用整个表名来引用列,因为这是你案件中create table错误的原因。

所以,如果可以的话,重命名表格从create/Alterinvalid identifier"Customers"CUSTOMERS,或者使用表名引号在您的选择查询中以及适当的别名。

"Orders"

另外,正如@horse已经建议的那样,在任何样本架构中创建表格,如HR,SCOTT等,而不是ORDERS