Здрасте! Проблема с выполнением запроса, не могу понять что к чему! Имеется функция
selectDataOfTable, которая на вход получает схему выборки и собственно таблицы. Печаль возникает когда я пытаюсь выгрузить данные из таблицы
VacanciesOfEmployers (схемы таблиц внизу), при чем:
- При запросе:
Запрос раз"SELECT VacanciesOfEmployers.id, Employers.name, Employers.contacts, Employers.hr_specialist, Vacancies.name, requirement, minCost, maxCost, placementDate FROM (VacanciesOfEmployers INNER JOIN Employers ON VacanciesOfEmployers.id_employer = Employers.id) INNER JOIN Vacancies ON Vacancies.id = VacanciesOfEmployers.id_vacancy"
Исключение: "no such column: VacanciesOfEmployers.id"
- При запросе:
Запрос два"SELECT Employers.name, Employers.contacts, Employers.hr_specialist, Vacancies.name, requirement, minCost, maxCost, placementDate FROM (VacanciesOfEmployers INNER JOIN Employers ON VacanciesOfEmployers.id_employer = Employers.id) INNER JOIN Vacancies ON Vacancies.id = VacanciesOfEmployers.id_vacancy"
Исключение: "no such column: Employers.name"
- При запросе:
Запрос три"SELECT * FROM (VacanciesOfEmployers INNER JOIN Employers ON VacanciesOfEmployers.id_employer = Employers.id) INNER JOIN Vacancies ON Vacancies.id = VacanciesOfEmployers.id_vacancy"
Исключение: "no such column: VacanciesOfEmployers.id_vacancy"
Если делать запрос к базе через
SQLite Expert Personal то запрос выполняется во всех трех вариантах!
Функция selectDataOfTableString[] columns = this.getColumnsForTable(select, tableName);
List<Object[]> result = new ArrayList<>();
ResultSet rs = cursor.executeQuery("SELECT "+ select +" FROM "+ tableName +" ORDER BY name ASC");
/** прочитываем значения из RS и заполняем массив в соотвествии со столбцами */
while(rs.next()) {
Object[] row = new Object[columns.length];
for (int i=0; i<columns.length; i++) {
row[i] = rs.getString(columns[i]);
}
result.add(row);
}
return result;
Схема таблицы[id] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
[id_employer] INTEGER NOT NULL CONSTRAINT [FK_employers] REFERENCES [Employers]([id]) ON DELETE RESTRICT ON UPDATE RESTRICT,
[id_vacancy] INTEGER NOT NULL CONSTRAINT [FK_vacancy] REFERENCES [Vacancies]([id]) ON DELETE RESTRICT ON UPDATE RESTRICT,
[requirement] TEXT NOT NULL,
[minCost] INTEGER,
[maxCost] INTEGER,
[placementDate] DATE NOT NULL)"