2017-01-05 1 views
2
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; 
^
+1

Используй то же чувствительно к регистру имя таблицы или псевдонимы квалификационные столбцы – GurV

+2

Не используйте цитируемые идентификаторы - это сэкономит вам такие неприятности –

+0

https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS –

ответ

1

Вы должны использовать тот же случай имя чувствительно таблицы или псевдонимами квалифицировать столбцы

Попробуйте это:

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

имена объектов в Postgres, как правило, дело нечувствителен, но с использованием двойных кавычек для ссылки на них вызывает чувствительность к регистру. Предполагая, что положение from правильно, вы должны быть согласованы с обозначениями, а также использовать то же обозначение в предложении on, как вы это делали в from и join статьях:

SELECT  * 
FROM  "animalTbl" 
INNER JOIN "deathTbl" ON "animalTbl".animalID = "deathTbl".animalID; 
-- Here -----------------^---------^------------^--------^ 
Смежные вопросы