Как выбрать запись в базе данных на основе нескольких внешних ключей? - PullRequest
0 голосов
/ 22 января 2019

Я очень новичок в реляционных базах данных. У меня есть таблица postgresql с ценами, основанными на нескольких внешних ключах:

price    age_id    type_id    code_id

8.9      5         3          8
...      ...    ...     ...

Таким образом, age_id, type_id и code_id являются внешними ключами и указывают на значение записей. Они хранятся в отдельных таблицах:

age_id    age
...       ...
5         49
...       ...

и

type_id   type
...       ...
3         FAM
...       ...

и

code_id   code
...       ...
8         769894
...       ...

Как получить запись о цене (например, 8,9) на основе значений возраста, типа и кода? Я должен был бы получить идентификаторы каждой из этих таблиц и затем выбрать запись из основной таблицы, правильно? Я не знаю, как подойти к этому эффективно. Заранее спасибо.

1 Ответ

0 голосов
/ 22 января 2019

Используя 3 внутренних соединения:

SELECT price
FROM price_table
INNER JOIN age_table
ON age_table.id = price.age_id
INNER JOIN type_table
ON type_table.id = price.type_id
INNER JOIN code_table
ON code_table.id = price.code_id
WHERE age = 49
  AND type = 'FAM'
  AND code = 769894

Я бы предложил проверить следующее: https://www.w3schools.com/sql/sql_join.asp

...