Problem z wyświetleniem rekordu

0

Witam,
Stworzyłem bazę danych zawierająca tabelę "rodzic" a ona za pomocą kluczy obcych odnosi się do danych w tabelach typu "dzieci".

Oto zapytanie w SQL, które wyświetla mi wszystkie rekordy w tabeli pilkarz, równiez to co kryje się pod kluczami obcymi w innych tabelach

SELECT p.id,p.imie, p.nazwisko,p.waga,p.wzrost,p.data_urodzenia,p.aktualna_cena,
k.nazwa as narodowość, n.nazwa as noga, poz.nazwa as pozycja,s.nazwa as sponsor,kl.nazwa as klub
FROM pilkarz p
JOIN kraj k ON p.fk_kraj= k.id
JOIN noga n ON p.fk_noga = n.id
JOIN pozycja poz ON p.fk_pozycja = poz.id
JOIN sponsor s ON p.fk_sponsor = s.id
JOIN klub kl ON p.fk_klub = kl.id

Tutaj pobieram do Stringow dane z tabel:

 String id = rs.getString("id");
                String imie = rs.getString("imie");
                String nazwisko= rs.getString("nazwisko");
                String waga= rs.getString("waga");
                String wzrost= rs.getString("wzrost");
                String data_urodzenia= rs.getString("data_urodzenia");
                String aktualna_cena= rs.getString("aktualna_cena");
                String narodowosc= rs.getString("fk_kraj");
                String noga= rs.getString("fk_noga");
                String pozycja= rs.getString("fk_pozycja");
                String sponsor= rs.getString("fk_sponsor");
                String klub= rs.getString("fk_klub");

Jednak w Javie uzywajac tego kodu do zapytania:

 String selectTableSQL = "SELECT p.id,p.imie, p.nazwisko,p.waga,p.wzrost,p.data_urodzenia,p.aktualna_cena,\n" +
                    "k.nazwa as narodowość, n.nazwa as noga, poz.nazwa as pozycja,s.nazwa as sponsor,kl.nazwa as klub\n" +
                    "FROM pilkarz p\n" +
                    "JOIN kraj k ON p.fk_kraj= k.id\n" +
                    "JOIN noga n ON p.fk_noga = n.id\n" +
                    "JOIN pozycja poz ON p.fk_pozycja = poz.id\n" +
                    "JOIN sponsor s ON p.fk_sponsor = s.id\n" +
                    "JOIN klub kl ON p.fk_klub = kl.id;";

Wyświetla się komunikat:
org.postgresql.util.PSQLException: The column name fk_kraj was not found in this ResultSet.
at org.postgresql.jdbc.PgResultSet.findColumn(PgResultSet.java:2589)
at org.postgresql.jdbc.PgResultSet.getString(PgResultSet.java:2463)
at MainClass.main(MainClass.java:45)

Jak odnosic się do tabel do ktorych tabela rodzic posiada klucz obcy, aby rowniez z nich wyswietlic dane?

Pozdrawiam

0

Tutaj chyba masz błąd:

String narodowosc= rs.getString("fk_kraj");

wg. Twojego zapytania powinno byc:

String narodowosc= rs.getString("narodowość");

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