Problem z zbudowaniem polecenia SELECT

Problem z zbudowaniem polecenia SELECT
WI
  • Rejestracja: dni
  • Ostatnio: dni
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.

DE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1788
1

Wygoogluj self join.

  • Rejestracja: dni
  • Ostatnio: dni
0

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

Kopiuj
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'

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.