Sample data from table: Table Name - SUPPLIERS and Entity Name - dbData
RECORD_NO ID_NO FIRST_BRANCH SECOND_BRANCH POSITION
----------------------------------------------------------------
1 05100242 05100243 05100244 L
2 05200443 05100245 05100247 L
3 05100244 05100248 R
4 05100245 05100249 L
5 05100247 05100250 R
6 05100248 L
7 05100249 L
8 05100250 L
HIERARCHY ILLUSTRATION
![]()
For example in a pyramid organizational chart, how are you going to get the count of A,B and C?
A = 05100242
B = 05100243
C = 05100244
TO GET THE RESULT OF 05100242 I used
LEFT ACCOUNT
var data = dbData.SUPPLIERS.where(x=>x.ID_NO == 05100243);
LEFT
string left = data.FIRST_BRANCH;
var leftbranch = dbData.where(x=>x.ID_NO == left);
RIGHT
string right = data.SECOND_BRANCH;
var leftbranch = dbData.where(x=>x.ID_NO == right);
RIGHT ACCOUNT
var data2 = dbData.SUPPLIERS.where(x=>x.ID_NO == 05100244);
LEFT
string left2 = data2.FIRST_BRANCH;
var leftbranch = dbData.where(x=>x.ID_NO == left2);
RIGHT
string right2 = data2.SECOND_BRANCH;
var leftbranch = dbData.where(x=>x.ID_NO == right2);
The problem is for every ID_NO, you need to get the LEFT AND RIGHT BRANCH and the result is you need to get again the LEFT AND RIGHT. YOU NEED TO REPEAT THIS DEPENDING ON HOW MANY RECORDS AVAILABLE.
THE QUESTION IS WHAT IF THERE ARE MILLIONS ON RECORDS?
AND RECORDS IS INCREASING BECAUSE EVERYDAY SUPPLIERS/DEALERS ARE CONTINUE GROWING.
RECORD_NO ID_NO FIRST_BRANCH SECOND_BRANCH POSITION
----------------------------------------------------------------
1 05100242 05100243 05100244 L
2 05200443 05100245 05100247 L
3 05100244 05100248 R
4 05100245 05100249 L
5 05100247 05100250 R
6 05100248 L
7 05100249 L
8 05100250 L
HIERARCHY ILLUSTRATION

For example in a pyramid organizational chart, how are you going to get the count of A,B and C?
A = 05100242
B = 05100243
C = 05100244
TO GET THE RESULT OF 05100242 I used
LEFT ACCOUNT
var data = dbData.SUPPLIERS.where(x=>x.ID_NO == 05100243);
LEFT
string left = data.FIRST_BRANCH;
var leftbranch = dbData.where(x=>x.ID_NO == left);
RIGHT
string right = data.SECOND_BRANCH;
var leftbranch = dbData.where(x=>x.ID_NO == right);
RIGHT ACCOUNT
var data2 = dbData.SUPPLIERS.where(x=>x.ID_NO == 05100244);
LEFT
string left2 = data2.FIRST_BRANCH;
var leftbranch = dbData.where(x=>x.ID_NO == left2);
RIGHT
string right2 = data2.SECOND_BRANCH;
var leftbranch = dbData.where(x=>x.ID_NO == right2);
The problem is for every ID_NO, you need to get the LEFT AND RIGHT BRANCH and the result is you need to get again the LEFT AND RIGHT. YOU NEED TO REPEAT THIS DEPENDING ON HOW MANY RECORDS AVAILABLE.
THE QUESTION IS WHAT IF THERE ARE MILLIONS ON RECORDS?
AND RECORDS IS INCREASING BECAUSE EVERYDAY SUPPLIERS/DEALERS ARE CONTINUE GROWING.