Выбор из другой таблицы на основе значения таблиц отношений

У меня есть три таблицы в MySQL:

1) банковские счета

- accounts_id (PRIMARY)
- accounts_account_number (UNIQUE)

2) bank_accounts_customers

- accounts_customers_id (PRIMARY)
- accounts_customers_account_id (INDEX)
- accounts_customers_customer_id (INDEX)

3) bank_customers

- customers_id (PRIMARY)
- customers_customer_number (UNIQUE)
- customers_title
- customers_first_name
- customers_middle_name
- customers_last_name

Мне нужно получить номер счета, хранящийся в банковские счета таблица и номер клиента хранятся в bank_customer Таблица. Стол bank_accounts_customers сохраняет связь между клиентами и учетными записями, которые у них есть, чтобы несколько клиентов могли совместно использовать одну учетную запись. Все таблицы в базе данных проиндексированы и используют внешние ключи для их связи.

Я не уверен, если ВНУТРЕННЕЕ СОЕДИНЕНИЕ или же ПРИСОЕДИНИТЬСЯ будет работать и как это сделать?

Я приложил изображение базы данных (которая не завершена на 100%).
https://s32.postimg.org/ia56fgjth/Screen_Shot_2016_07_31_at_5_51_38_pm.png

Запрос, который я пробовал:

SELECT `bank_accounts`.`accounts_account_number`, `bank_customers`.`customers_customer_number`
FROM `bank_accounts`, `bank_customers`
INNER JOIN `bank_accounts_customers`
ON bank_accounts_customers`.`accounts_customers_account_id` = `bank_accounts`.`accounts_id`

0

Решение

SELECT ba.accounts_account_number, bc.customers_customer_number
FROM bank_accounts AS ba

INNER JOIN bank_accounts_customers AS bac
ON bac.accounts_customers_account_id = ba.accounts_id

INNER JOIN bank_customers AS bc
ON bc.customers_id = bac.accounts_customers_customer_id

Должен получить то, что вы хотите.

0

Другие решения

select
ba.accounts_account_number,
bc.customers_title,bc.customers_first_name, bc.customers_middle_name, bc.customers_last_name
from bank_accounts ba inner join bank_accounts_customers bac
on ba.accounts_id = bac.accounts_customers_account_id
inner join bank_customers bc
on bac.accounts_customers_customer_id = bc.customers_id

Попробуй это..!!

0

Попробуй это

SELECT ba.accounts_account_number, bc.customers_customer_number
FROM bank_accounts_customers bac
INNER JOIN bank_accounts ba on bac.accounts_customers_account_id = ba.accounts_id
INNER JOIN bank_customers bc on bac.accounts_customers_customer_id = bc.customers_id
0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector