JDBC просто ще наименува колоните според това, което е посочено в заявката - не знае за имена на таблици и т.н.
Имате две опции:
Вариант 1: Именувайте колоните по различен начин в заявката, т.е.
SELECT
a.columnName as columnNameA,
b.columnName as columnNameB,
...
from table1 a, table2 b where (WHATEVER)
след това във вашия java код се обърнете към псевдонимите на колоните:
resultSet.getString("columnNameA");
resultSet.getString("columnNameB");
Вариант 2: Вижте колоната позиция във вашето обаждане до JDBC API:
resultSet.getString(1);
resultSet.getString(2);
Имайте предвид, че JDBC API използва едно-базиран индекси - т.е. те се броят от 1
(не от 0
като java индекси), така че използвайте 1
за първата колона, 2
за втората колона и т.н.
Бих препоръчал вариант 1, защото е по-безопасно да се позовавате на именувани колони:някой може да промени реда на колоните в заявката и това ще разбие тихо кода ви (ще осъществите достъп до грешната колона, но няма да знаете) , но ако променят имената на колоните, поне ще получите изключение „няма такава колона“ по време на изпълнение.