JDBC nommera simplement les colonnes en fonction de ce qui est spécifié dans la requête - il ne connaît pas les noms de table, etc.
Vous avez deux options :
Option 1 : Nommez les colonnes différemment dans la requête, c'est-à-dire
SELECT
a.columnName as columnNameA,
b.columnName as columnNameB,
...
from table1 a, table2 b where (WHATEVER)
puis dans votre code java faites référence aux alias de colonne :
resultSet.getString("columnNameA");
resultSet.getString("columnNameB");
Option 2 : Reportez-vous à la colonne poste dans votre appel à l'API JDBC :
resultSet.getString(1);
resultSet.getString(2);
Notez que l'API JDBC utilise one-based index - c'est-à-dire qu'ils comptent à partir de 1
(pas de 0
comme les index Java), utilisez donc 1
pour la première colonne, 2
pour la deuxième colonne, etc
Je recommanderais l'option 1, car il est plus sûr de faire référence à des colonnes nommées :quelqu'un peut modifier l'ordre des colonnes dans la requête et cela casserait silencieusement votre code (vous accéderiez à la mauvaise colonne mais ne le sauriez pas) , mais s'ils changent les noms des colonnes, vous obtiendrez au moins une exception "aucune colonne de ce type" lors de l'exécution.