#sql #postgresql #apache-spark-sql
Вопрос:
Представьте себе древовидную иерархию, подобную этой:
1
|_ 11
|_ 111
|_ 1111
|_ 1112
|_ 112
|_ 1121
|_ 1122
|_ 1113
|_ 12
|_ 121
|_ 122
|_ 123
|_ 124
|_ 1241
|_ 1242
|_ 1243
Если у нас есть одна таблица, в которой хранятся идентификаторы и пути:
ID | путь |
---|---|
1 | /1/ |
11 | /1/11/ |
111 | /1/11/111/ |
… | … |
вместе с одной таблицей, в которой хранится флаг «is_turned_on» для некоторых идентификаторов:
ID | is_turned_on |
---|---|
11 | истинный |
111 | истинный |
1121 | ложный |
121 | истинный |
122 | ложный |
1243 | истинный |
И мы предполагаем, что:
- Дети унаследуют «is_turned_on» от ближайшего родителя
- Случай по умолчанию (если идентификатор сам по себе не имеет явной записи в БД, ни один родитель с явной записью в БД) по умолчанию имеет значение «is_turned_on=true».
Есть ли способ использовать SQL-запрос, чтобы узнать, сколько идентификаторов имеет «is_turned_on=true» или «is_turned_on=false»?
Комментарии:
1. Вы отметили две разные платформы баз данных, пожалуйста, добавьте правильный тег для используемой вами базы данных,
2. @Stu спасибо, добавили только postgresql