内部联接错误 - 虽然表没有找到表

时间:2017-01-05 15:16:17

标签: sql postgresql quoted-identifier

SELECT * FROM "animalTbl" 
  INNER JOIN "deathTbl" 
  ON animalTbl.animalID = deathTbl.animalID;

这是我的代码,当我运行它时显示这样的问题

 ERROR: missing FROM-clause entry for table "animaltbl"
LINE 3: ON animalTbl.animalID = deathTbl.animalID;
  ^

2 个答案:

答案 0 :(得分:1)

您必须使用相同的区分大小写的表名称或别名来限定列

试试这个:

SELECT * FROM "animalTbl" a
  INNER JOIN "deathTbl" d
  ON a.animalID = d.animalID

答案 1 :(得分:1)

postgres中的对象名称通常为不敏感,但使用双引号引用它们会强制区分大小写。假设from子句是正确的,您应该与您的符号保持一致,并在on子句中使用与fromjoin子句中相同的表示法:

SELECT     *
FROM       "animalTbl" 
INNER JOIN "deathTbl" ON "animalTbl".animalID = "deathTbl".animalID;
-- Here -----------------^---------^------------^--------^