У меня довольно сложный запрос (несколько объединений) в нормализованной базе данных sqlite. Запрос выполняет SELECT *, чтобы включить некоторую автоматическую логику выбора атрибутов (поэтому я не могу устранить "*" )
Проблема, с которой я столкнулась, состоит в том, что мой результирующий набор содержит несколько столбцов с тем же именем атрибута. Например, один атрибут, общий для каждой таблицы в запросе, - "_id". Когда я перехожу к вызову "cursor.getColumnIndex("_id")"
, возвращаемое значение всегда является индексом последнего атрибута "_id"
в списке столбцов набора результатов (т.е. Не тот, который я хочу). Мне бы очень хотелось использовать префиксы псевдонимов SQL, например cursor.getColumnIndex("A._id")
, но это не работает.
Вопросы
Похоже, что cursor.getColumnIndex(AttributeName)
возвращает индекс последнего "AttributeName" . Может ли кто-нибудь подтвердить это? Кроме того, любые предложения о том, как вернуть индекс 1-го атрибута с именем "AttributeName" ? или лучше X-й атрибут с именем "AttributeName" ?