Problem z zbudowaniem polecenia SELECT

0

Witajcie mam problem z zbudowaniem polecenia SELECT.
Mam tabelę jak niżej

ID tab1 tab2 tab3
C x x x
B x x x
x A B x
x A C x

Chciałbym wyciągnąć z tabeli wiersze, które w kolumnie tab1 mają wartość A oraz dołączyć do nich zawartość wierszy dla których wartość w kolumnie ID jest równa wartościom w kolumnie tab2. Dane oznaczone jako x reprezentują różne nie powtarzające się dane. Wszystko dzieje się na tej samej tabeli.
Czyli wynik polecenia SELECT powinien dać dwa wiersze o wartości "A" w kolumnie tab1 z dołączonymi wartościami np z kolumn tab2 i tab3 ale gdzie wartość ID tego wiersza będzie równa wartości w kolumnie tab2.

Dodam że polecenie SQL będzie operować na serwerze bazodanowym MS SQL.

Pozdrawiam i dziękuję za pomoc.

1

Wygoogluj self join.

0

Można np. tak http://sqlfiddle.com/#!6/fc7d3/12

SELECT t1.tab1,t1.tab2,t2.tab2,t2.tab3
FROM tbl as t1
LEFT JOIN tbl as t2 ON t1.tab2=t2.id
WHERE t1.tab1='A'

1 użytkowników online, w tym zalogowanych: 0, gości: 1