У меня есть таблица OrganisationStructure, подобная этой:
OrganisationID INT
ParentOrganisationID INT
OrganisationName VARCHAR(64)
1 | 0 | Company
2 | 1 | IT DIVISION
3 | 2 | IT SYSTEM BUSINESS UNIT
4 | 1 | MARKETING DIVISION
5 | 4 | DONATION BUSINESS UNIT
Я хочу получить запрос, который, если приложение передает, скажем, OrganisatinID = 1
, означает, что оно будет проходить (просматривая родительский / дочерний элемент) до конца этой таблицы и захватывать все возможные. Возвращено OrganisatioIDs = (1, 2, 3, 4, 5)
.
Другое, если передано OrganisationID = 2
, то Возвращено OrganisationID = (2, 3)
Другое, если передано OrganisationID = 3
, то Возвращено OrganisationID = 3
Есть идеи сделать это без курсора?
Спасибо