że cztery tabele:SQL wybrać połączenie dwóch kolumn w jednym
Tabela A:
ID | B_ID
----------
1 | 5
2 | 6
3 | 7
4 | 8
Tabela B:
B_ID
-----
5
6
7
8
Tabela C:
C_ID | C_Name
--------------
5 | Alpha
6 | Beta
Tabela D:
D_ID | D_Name
--------------
7 | Delta
8 | Gamma
uwaga, że wartości podane w tabeli B może pochodzić albo z Tabeli C lub w tabeli D.
muszę się zapytanie, która pokazuje ID
z tabeli A i drugą kolumnę o nazwie Name
który składa się z odpowiadającym nazwy oparte na kolumnie tabeli B.
oczekiwanego rezultatu B_ID
powinna wyglądać następująco:
ID | Name
----------
1 | Alpha
2 | Beta
3 | Delta
4 | Gamma
Co próbowałem jest to zapytanie:
SELECT *
FROM B
LEFT OUTER JOIN C
ON B_ID = C_ID
LEFT OUTER JOIN D
ON B_ID = D_ID
Daje:
B_ID | C_ID | C_Name | D_ID | D_Name
-------------------------------------
5 | 5 | Alpha | Null | Null
6 | 6 | Beta | Null | Null
7 | Null | Null | Null | Delta
8 | Null | Null | Null | Gamma
Jednak mam jeszcze dwie kwestie:
- muszę połączyć nazwiska w jednej kolumnie (patrz oczekiwany wynik powyżej)
- Musi to być podzapytanie z
SELECT
opartej na Tabeli A w celu wyświetleniaID
kolumna tabeli A.
proszę dodać pożądany wynik, abyśmy mogli go lepiej zrozumieć –
jest już dodany. proszę przeczytaj. zobacz 'Oczekiwany wynik powinien wyglądać tak:' – beta
no cóż, mój zły –