[HSQLDB] multiple join z tą samą tabelą

0

Mam 2 tabele:
a)zlecenia
b)firmy

SELECT * FROM zlecenia JOIN firmy ON zlecenia.nabywca_id=firmy.nazwa JOIN firmy ON zlecenia.odbiorca_id=firmy.nazwa WHERE data_sp>='2009-12-12' AND data_sp<='2009-12-14'

po wykonaniu tego zapytania nie otrzymuje żadnego rekordu. Rekordy niezbędne do otrzymania choć jednego rekordu wynikowego (w tabeli łączonej), spełniającego warunki - istnieją. Zdołałem dojść do tego, że jest to wina użycia dwukrotnie JOINA na tabeli firmy. Poradzicie coś?

0

hmm.... toto w ogóle poszło?
spróbuj jednoznacznie nazwać tabele przy pomocy aliasów. Ja na miejscu silnika bazy danych wziął bym warunek złączenia drugiego joina, odnoszący się i tak do pierwszej tabeli "firmy".

0

All join operators are evaluated left to right, therefore, with multiple joins, the table resulting from the first join operator becomes an operand of the next join operator

SELECT * FROM zlecenia JOIN firmy ON zlecenia.nabywca_id=firmy.nazwa JOIN firmy AS jtable(n_nazwa,n_kraj,n_kod_pocz,n_miasto,n_ulica,n_bank,n_nr_rach,n_swift,n_tel1,n_tel2,n_tel3) ON zlecenia.odbiorca_id=firmy.n_nazwa WHERE data_sp>='2009-12-12' AND data_sp<='2009-12-14'

pomoglo.

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