Łączenie tabel

0

Witam,
W bazie danym mam dwie tabele: AAA zawiera listę osób, BBB zawiera informacje do jakich zwiazkow nalezy osoba z tabeli AAA,
Jak powinno wyglądać zapytanie które zwróci imie, nazwisko, wiek z tabeli AAA oraz infromacje czy osoba należy conajmniej do jednego, dowolnego związku?

Tabela AAA

id imie nazwisko wiek

1 Ewa Nowak 23
2 Jan Kowalski 34
3 Roman Otopski 43
4 Zygmunt Bertowski 22

Tabela BBB

id id_osoby czlonek

1 2 PZLA
2 2 PZPN
3 3 PZPN

Wynik:

id imie nazwisko wiek aktywny

1 Ewa Nowak 23 nie
2 Jan Kowalski 34 tak
3 Roman Otopski 43 tak
4 Zygmunt Bertowski 22 nie

0

A jaka baza danych. Składnie sql różnią się w przypadku poleceń bardziej zaawansowanych jak np. if.

W mysql byłoby mniej więcej tak:

SELECT a.imie, a.nazwisko, a.wiek, IF ( (SELECT b.count(*) FROM BBB b WHERE b.id_osoby = a.id) > 0, 'tak', 'nie') AS aktywny FROM AAA a

Nie testowane, na podstawie http://dev.mysql.com/doc/refm[...]n/control-flow-functions.html

0

SQL Server 2008

3
SELECT a.id, a.imie, a.nazwisko, a.wiek, CASE WHEN Count(b.id)>0 THEN 'tak' ELSE 'nie' END FROM AAA a LEFT JOIN BBB b ON a.id=b.id_osoby GROUP BY a.id, a.imie, a.nazwisko, a.wiek
0

Dzięki wielkie! Działa

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