|
Что за фигня я что то не понимаю.
|
|||
---|---|---|---|
#18+
Народ помогите разобраться Имееться такая таблица ID ParentID Data Info Sell stat deltastatus lft rgt Unlft unrgt 1 0 2003-05-27 p1 3 p 2 1 14 0 0 2 1 2003-05-27 p2 2 p 1 2 7 0 0 3 1 2003-05-27 p3 1 p 1 8 13 0 0 4 2 2003-05-27 p4 0 p 1 3 4 0 0 5 2 2003-05-27 p5 0 p 1 5 6 0 0 6 1 2003-05-27 p6 0 p 1 9 10 0 0 7 3 2003-05-27 p7 0 p 1 11 12 0 0 делаю такой вложенный запрос. select x.ID,(select COUNT(P2.ID) FROM personnel P2 WHERE P2.lft BETWEEN x.lft AND x.rgt) as comis FROM personnel x WHERE x.stat='p'; вообщем он мне должен выдать количество пользователей которые подписанный под каждым пользователем. но в результате вот что у меня получаеться ID comis 1 7 2 3 4 5 6 7 т.е. первого он правельно посчитал что под ним подписанно 6 и + он сам. А остальных почему не считает я не могу понять.. Но когда я делаю такой запрос на пример select x.ID,(select SUM(P2.ID) FROM personnel P2 WHERE P2.lft BETWEEN x.lft AND x.rgt) as comis FROM personnel x WHERE x.stat='p' То получаю все нормально ID comis 1 28 2 11 3 16 4 4 5 5 6 6 7 7 т.е. сумирование Номеров АЙД он делает правельно. Обясните мне пожайлуста в чем тут дело.. Буду презнателен за помощь. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2003, 20:35 |
|
Что за фигня я что то не понимаю.
|
|||
---|---|---|---|
#18+
Народ помогите разобраться Имееться такая таблица ID ParentID Data Info Sell stat deltastatus lft rgt Unlft unrgt 1 0 2003-05-27 p1 3 p 2 1 14 0 0 2 1 2003-05-27 p2 2 p 1 2 7 0 0 3 1 2003-05-27 p3 1 p 1 8 13 0 0 4 2 2003-05-27 p4 0 p 1 3 4 0 0 5 2 2003-05-27 p5 0 p 1 5 6 0 0 6 1 2003-05-27 p6 0 p 1 9 10 0 0 7 3 2003-05-27 p7 0 p 1 11 12 0 0 делаю такой вложенный запрос. select x.ID,(select COUNT(P2.ID) FROM personnel P2 WHERE P2.lft BETWEEN x.lft AND x.rgt) as comis FROM personnel x WHERE x.stat='p'; вообщем он мне должен выдать количество пользователей которые подписанный под каждым пользователем. но в результате вот что у меня получаеться ID comis 1 7 2 3 4 5 6 7 т.е. первого он правельно посчитал что под ним подписанно 6 и + он сам. А остальных почему не считает я не могу понять.. Но когда я делаю такой запрос на пример select x.ID,(select SUM(P2.ID) FROM personnel P2 WHERE P2.lft BETWEEN x.lft AND x.rgt) as comis FROM personnel x WHERE x.stat='p' То получаю все нормально ID comis 1 28 2 11 3 16 4 4 5 5 6 6 7 7 т.е. сумирование Номеров АЙД он делает правельно. Обясните мне пожайлуста в чем тут дело.. Буду презнателен за помощь. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.05.2003, 20:35 |
|
Что за фигня я что то не понимаю.
|
|||
---|---|---|---|
#18+
А что MySQL поддерживает вложенные вопросы типа: Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2003, 11:06 |
|
Что за фигня я что то не понимаю.
|
|||
---|---|---|---|
#18+
Ну с 4.1 да.... Но немного другого вида... Код: plaintext 1. 2. 3.
mahoune ... |
|||
:
Нравится:
Не нравится:
|
|||
28.05.2003, 12:13 |
|
|
start [/forum/topic.php?fid=47&fpage=707&tid=1855994]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 133ms |
0 / 0 |