SQL запрос для получения объектов
Есть таблицы
1) Objects -> objId | objName
2) ObjectGroup -> objId | groupId (у одного объекта может быть несколько групп)
3) Group-> groupId | groupName | isHidden (группа может быть скрытой)
Нужно из таблицы Objects достать те объекты у которых все указанные в таблице ObjectGroup группы являются скрытыми в Group.
Используется DBHelper и прямые sql запросы. Не могу составить запрос..
Ответы (1 шт):
Автор решения: DuosDuo
→ Ссылка
Составил вот такой запрос (это кусочек), на первый взгляд, работает. С базу вытягиваются все объекты у которых нет групп или если все указанные для них группы isHidden = 1 (скрыты)
String query = "SELECT * FROM " + Objects
+ " LEFT JOIN " + ObjectGroup + " ON " + ObjectGroup.objId + " = " + Objects.objId
+ " AND " + ObjectGroup.groupId
+ " in (SELECT " + Group.groupId + " FROM " + Group + " WHERE " + Group.isHidden +" = 0)"
+ " WHERE " + ObjectGroup.objId + " IS NULL";
Group.isHidden -> 1 скрыт, 0 не скрыт.