powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / COUNT с подселектом (?) в запросе
3 сообщений из 3, страница 1 из 1
COUNT с подселектом (?) в запросе
    #38552647
labirint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую всех доброжелателей в отношении чайников !

буду признателен за помощь или совет:
в таблице поддерживается (или как это правильно назвать) древовидная структура простым способом - каждая запись имеет поле идентификации родителя 'tparn'.
Данные выбираются только в пределах "одной ветки", т.е. те, у которых одинаковый родитель. Вот мой запрос:
Код: sql
1.
SELECT tname, tid, chcol FROM tasks WHERE tparn = prant ORDER BY tname INTO cursor mt

, где 'tid' поле-автоинкремент с премиум ключом.
А теперь мне нужно в курсор добавить еще одно поле - 2-е по порядку, в котором подсчитывается количество "сыновних" узлов в каждой строке курсора. Пробовал применить COUNT и в нем (Select...), но не знаю - как правильно записать такой подзапрос и вообще подзапрос ли надо? Сижу пытаюсь путем тыка что-то обнаружить, но ... Искал Гуглом - не нашел понятного объяснения для меня, да и вообще близкого к этой задаче, хотя понимаю, что вещь должна быть довольно ординарная, только не для меня :(
Прошу подсказать - как "сыновей" считать?
...
Рейтинг: 0 / 0
COUNT с подселектом (?) в запросе
    #38552710
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Значения в tparn - это tid родителя? Скорее всего, подзапрос и надо... Что-то вроде
Код: sql
1.
2.
3.
4.
5.
SELECT tname, tid, chcol, (SELECT COUNT(*) FROM tasks WHERE tparn = t.tid) as cnt ;
FROM tasks t ;
WHERE tparn = prant ;
ORDER BY tname ;
INTO cursor mt
...
Рейтинг: 0 / 0
COUNT с подселектом (?) в запросе
    #38553583
labirint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTMЗначения в tparn - это tid родителя? Скорее всего, подзапрос и надо... Что-то вроде
Код: sql
1.
2.
3.
4.
5.
SELECT tname, tid, chcol, (SELECT COUNT(*) FROM tasks WHERE tparn = t.tid) as cnt ;
FROM tasks t ;
WHERE tparn = prant ;
ORDER BY tname ;
INTO cursor mt



ТО ЧТО НАДО!
Сработало с первой попытки.
Огромное спасибо!!!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / COUNT с подселектом (?) в запросе
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]