SQL Server. Запрос для отображения лица и его имени банка – одна строка?

У меня есть следующие таблицы:

TRANS

ID HPARENT1 HPERSON -------------------------------- 70001 60001 100 60001 50001 100 50001 NULL 2 

где

  1. ID начинающийся с 7, является зарядом
  2. ID начинающийся с 6, является квитанцией
  3. ID начинающийся с 5, представляет собой запись в банковском депозите в том же таблице TRANS

Здесь, в этом примере, 70001 – это плата, уплаченная при получении 60001, а 50001 – запись банковского депозита квитанции.

HPERSON – плата и квитанция – это лицо, которому оно было начислено и оплачено.

Где, так как, HPERSON банковского вклада является идентификатором БАНКА.

БАНКА

 ID BankName -------------------------- 2 MyBank 

ЧЕЛОВЕК

 ID FIRSTNAME LASTNAME --------------------------------- 100 Barry Allen 

Я хочу, чтобы на выходе указывалось имя человека и имя его банка.

 Barry Allen MyBank 

И способ идентифицировать банк человека, найти его вклад в депозит (50001), а затем найти hperson (2) из ​​него (который является идентификатором банка)

Думаю, мне придется присоединиться к таблице ТРАНС с собой.

Не знаете, как это сделать.

Может кто-нибудь помочь мне здесь?

Вы можете присоединиться к таблице для себя, указав разные псевдонимы «версии», подобные этому. Я предполагаю, что есть только 3 уровня этого иерарки.

 SELECT p.FIRSTNAME, p.LASTNAME, b.BankName FROM PERSON p JOIN TRANS t1 ON t1.HPERSON = p.id JOIN TRANS t2 ON t2.ID = t1.HPARENT1 JOIN TRANS t3 ON t3.ID = t2.HPARENT1 JOIN BANK b ON b.ID = t3.HPERSON 
Interesting Posts

Может ли INSERT получить более одной строки в триггерной «вставленной» таблице?

По-видимому, невозможно полностью заменить модель данных Entity Framework из базы данных

Заблокирован из-за столкновения хэшей?

В этом контексте имя «X» не разрешено. Допустимыми выражениями являются константы, константные выражения и переменные. Имена столбцов запрещены.

SQL – Как хранить и перемещаться по иерархиям?

Не удается подключиться к SQL Server 2014 Express

Оптимизация таблицы для последних / последних строк в Azure SQL Server

Просмотры, Сущность, Не удается вывести первичный ключ

Использование одиночной кавычки в выражении Exec в SQL

Стандарт SQL в SQL Server и postrgesql

Могу ли я вставлять значения в столбец в соответствии с условием? SQL Server

Отличная производительность и производительность по группам запросов

Как выполнить сортировку нескольких столбцов в Visual Basic 6 ListView?

SQL Server PRINT SELECT (печать результата запроса запроса)?

Заявление о слиянии SQL Server 2008 для проверки и вставки, если запись не существует

Давайте будем гением компьютера.