Есть одна таблица org, и столбцы id_org, name, parent_id. в столбце parent_id указывается id_org вышестоящей организации(подразделения). Как отобрать из таблицы все дочерние подразделения, например организации с id_org=1, а также дочерние строки дочерних строк.
id_org name parent_id
1 организация1 0
2 подразделение1-1 1
3 подразделение1-2 1
4 подразделение1-2-1 2
5 организация2 0
6 подразделение2-1 5
7 подразделение2-2 5
Следующий запрос саму строку с id_org=1 не выводит, выводит дочерние подразделения только до первого уровня, т.е. дочерние дочерних не выводит, например не выводит "подразделение1-2-1", который является дочерним строке "подразделение1-1"
SELECT org1.*
FROM org AS org1
JOIN org AS org2
ON (org2.id_org = org1.parent_id)
WHERE org2.id_org = 1;