Как выбрать данные из двух таблиц, используя SQL, где совпадает поле из каждой таблицы? - PullRequest
4 голосов
/ 30 декабря 2011

Delphi 2010 & Oracle Database

Мне нужно написать оператор выбора для двух таблиц

Accounts & Master

Из таблицы Accounts,Мне нужно выбрать Account_Id, Account_Number, Bank_Id, and External_Code

Из мастер-таблицы, мне нужно выбрать Account_String.

Поле «Account_String» мастера соответствует полю Extenal_Code учетной записи

thanx

Ответы [ 3 ]

11 голосов
/ 30 декабря 2011

Звучит как простое соединение, если я что-то упустил:

SELECT a.Account_Id, a.Account_Number, a.Bank_Id, a.External_Code, m.Account_String 
FROM Accounts a
INNER JOIN Master m ON m.Account_String = a.External_Code
2 голосов
/ 30 декабря 2011

Стандартный SQL:

select Accounts.Account_id, Accounts.Account_Number, Accounts.Bank_Id,
    Accounts.External_Code, Master.Account_String  
from Accounts, Master
where Accounts.External_Code = Master.Account_String;

Примечание: вам, вероятно, не нужны оба Accounts.External_Code и Master.Account_String в результате, так как запрос гарантирует, что они одинаковы.

1 голос
/ 30 декабря 2011

Вы хотите внутреннее соединение .

SELECT a.account_id, a.account_number, a.bank_Id, a.external_code, m.account_string
FROM accounts a JOIN master m ON a.external_code = m.account_string
WHERE ...;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...