Здравствуйте я имею таблицу, похожую на эту:mysql select в другой группе: сколько людей в нижнем листе?
id sponsor name
------------------------
1 0 Sasha
2 1 John
3 1 Walter
4 3 Ashley
5 1 Mark
6 4 Alexa
7 3 Robert
8 3 Frank
9 4 Marika
10 5 Philip
11 9 Elizabeth
, когда я выбираю идентификатор (назовем его MyChoice) Я хочу знать все названия людей, который спонсируют как MyChoice ... просто:
выберите * от имя_таблицы где спонсор = MyChoice
но ... вот это проблема ... я бы знать, сколько людей там в даунлайнерах это приводит ... так .. . Сколько записей есть у спонсора, такого как eac h id.
если я выбрать идентификатор 1 результат должен быть
id name downline
----------------------
2 John 0 (noone with sponsor=2)
3 Walter 3 (3 with sponsor=3: ashley, robert, frank)
5 Mark 1 (1 with sponsor=5: philip)
если я выбрать идентификатор 4 результат должен быть
id name downline
----------------------
6 Alexa 0
9 Marika 1 (1 with sponsor=9: Elizabeth)
я попробовать это "плохое решение", если MyChoice является 1
выберите спонсора, счетчик (*), как внизу, из tablename, где спонсор: (выберите id из tablename, где sponsor = 1) group by sponsor ord э по нижестоящих по алфавиту
результат этого запроса
sponsor downline
---------------------
3 3
5 1
есть 2 проблемы: - имена не права и не то, что я хочу - счетчик 0 «2 | Джон | 0" в примере DonT появляется
поблагодарить у за советом и помощью, извините за английский, Н.
вы должны использовать левое внешнее соединение, чтобы сделать это – bksi