по значению и имени столбца выбрать название таблиц

253
07 июня 2018, 09:40

Есть 2 таблицы:

tab1

|id - length|
|1- 0.5|
|2- 0.6|
|3- 0.7|

Связанная внешним ключом со второй:

tab2

|id-  diam- cap  - id_length|
|1- 6-  0.0013 -    1|
|2- 7-  0.0019- 1|
|3- 6-  0.0025- 2|
|4- 6-  0.0032- 3|

Надо по значению с первой таблицы вытащить данные из второй. Просто таких связанных таблиц есть очень много. А мне нужно, чтоб запрос происходил динамически через значение length из первой таблицы (основной).

Answer 1
String table = "tab1"; // динамическое имя первой таблицы
String table2 = "tab2"; // имя второй таблицы
String column1 = table2 + ".diam"; // динамическое название столбца в таблице
String column2 = table2 + ".cap"; 
Cursor cursor = rawQuery("SELECT " + column1 + " , " + column2 + " FROM " + table + " , " + table2 + " WHERE " + table + ".id = " + table2 + ".id_length", null);

Получим значение колонки tab2.diam и tab2.cap у которой id_length = id из таблицы tab1

Так же вам нужно обязательно иметь колонку _id в таблицах (а не id)

READ ALSO
Проблемы с генерированием апк

Проблемы с генерированием апк

На устройстве занимался отладкой приложенияЗатем удалил его

188
SharedPrefernces на несколько активити

SharedPrefernces на несколько активити

Использую SharedPreference для настроек приложения, есть единственное но, как сделать чтобы SharedPrefernce можно было вызвать из любого активити?

225
ClickListener при работе со списком из курсора

ClickListener при работе со списком из курсора

Система следующаяЗагружаются данные из курсора в ресайклер

288
В чём смысл создания массива на 0 элементов

В чём смысл создания массива на 0 элементов

С какой целью такая возможность поддерживается компилятором?

202