Nie działa mi powiązanie tabel

0

Hej, mam coś na wzór tego:

DostepneImiona(ID|Nazwa):
1 Jarek
2 Marek

Osoba(ID,Imie1,Imie2)
1 1 2
2 2 1

I chcę zrobić zapytanie które wstawi w miejsce imie1 i imie2 jakby polę Nazwa z tabeli DostepneImiona, czyli wynik:

1 Jarek Marek
2 Marek Jarek

I mam taki problem, że jak połącze przez WHERE Osoba.Imie1=DostepneImiona.ID to jest dobrze, ale jak po AND połącze Osoba.Imie2=DostepneImiona.ID to już nie wyświetla ani jednego wiersza.

Jak by takie zapytanie wyglądało? Bo coś nie tak robię.

4

Musisz dwa razy dodać tabele z imionami.

0

Poczytaj o inner join

2

Tak jak napisał @Marcin.Miga . Pierwszy warunek Osoba.Imie1=DostepneImiona.ID wybiera Ci rekord
1 Jarek
drugim warunkiem Osoba.Imie2=DostepneImiona.ID negujesz pierwszy (nie może być raczej Imie1 i Imie2 do tego samego DostepneImiona.ID) i dlaego zwraca Ci pusty rekordset

0

Ok, mógłby ktoś przykładowe zapytanie napisać? Nie mogę znaleźć przykładu w internecie pod mój problem.

3
select * from osoba o inner join dostepneimiona di1 on (o.imie1=di1.id) left join dostepneimiona di2 on (o.imie2=di2.id)

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