Использование 1999 ANSI SQL Join без первичного ключа - PullRequest
0 голосов
/ 20 марта 2019

Возможно ли это? В настоящее время я пытаюсь выполнить эти серии команд через мою базу данных. Однако есть проблема с последней строкой, которая добавляет подарки. Это потому, что в этой таблице не задан первичный ключ. Нужно ли устанавливать первичный ключ для него или есть другой способ справиться с этим?

SELECT b.title, p.name, m.gift
FROM books b
     JOIN publisher p USING (pubid)
     JOIN promotion m USING (gift); 

Я получаю код ошибки.

Ошибка SQL: ORA-00904: «из $ _subquery $ _003». «ПОДАРОК»: неверный идентификатор 00904. 00000 - «% s: неверный идентификатор»

1 Ответ

0 голосов
/ 20 марта 2019

Синтаксис using не опирается на столбцы, являющиеся первичными ключами, или на любые другие типы ключей в этом отношении - он просто полагается на обе таблицы, имеющие столбцы с одинаковым именем, которые используются для объединения (см., например, статью в Википедии ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...