Witam,
Uczę się baz danych. Używam SQLite (DISQLite3 dla Delphi). Zaprojektowałem sobie układ 3 tabel, z których zczytuję dane... Niestety, nie umiem sobie poradzić
z jednym przypadkiem... Poniżej przedstawiam przykład.
Mamy 3 tabele:
BAZA_T, DOKUMENT_T, INDEX_T
BAZA_T ID (Integer) DOKUMENT (Integer) INDEX1 (Integer) INDEX2 (Integer) INDEX3 (Integer)
DOKUMENT_T ID (Integer) DOC (TEXT)
INDEX_T ID (Integer) IND (TEXT)
Rekordy wepełnione danymi wyglądają np. tak:
BAZA_T 1 4 3 5 4
2 5 7 2 7
3 7 8 3 8
4 2 5 7 5
etc..
DOKUMENT_T 1 'Jakiś dokument1'
2 'Jakiś dokument2'
3 'Jakiś dokument3'
4 'Jakiś dokument4'
etc...
INDEX_T 1 'Pierwszy indeks'
2 'Drugi indeks'
3 'Trzeci indeks'
4 'Czwarty indeks'
5 'Piąty indeks'
5 'Szósty indeks'
etc...
Jakie zapytanie zrobić, żeby wyświetlić dane z tabeli BAZA_T (posiłkując się
danymi z tabel DOKUMENT_T oraz INDEX_T) w ten sposób, że:
Np dla 1 rekordu: BAZA_T 1 4 3 5 4
Wynik: 1 'Jakiś dokument4' 'Trzeci indeks' 'Szósty indeks' 'Czwarty indeks'
Mam nadzieję, że problem nie jest trywialny, ale ja utknąłem... proszę o pomoc.
Potrafię odczytać tylko dokument z tabeli DOKUMENT_T oraz jedną wartość Index z tabeli INDEX_T :
SELECT BAZA_T.ID, DOKUMENT_T.DOC, INDEX_T.IND FROM BAZA_T, DOKUMENT_T, INDEX_T WHERE BAZA_T.DOKUMENT=DOKUMENT_T.ID AND BAZA_T.INDEX1=IndexT.ID AND BAZA_T.ID=1;',
Jak chcę dodać INDEX2 oraz INDEX3 to nie działa...
-Pawel