Форум: "Базы";
Текущий архив: 2005.01.02;
Скачать: [xml.tar.bz2];
Внизкол-во подчиненных записей... Найти похожие ветки
← →
Paradox (2004-12-05 14:33) [0]select A.id as number,
(select count(B.id) from ierarx B where B.parent_id = A.id_num) as kidscount
from ierarx A
where A.parent_id = 0
Не могу понять почему в kidscount всегда получается ноль ?
В MSSQL такая конструкция работает, а в Local SQL - не получается..может я что-то не так делаю
или в Local SQL такое вообще нельзя писать ?
← →
GanibalLector © (2004-12-05 16:34) [1]а если так :
... (select count(*) from ierarx B where B.parent_id...
← →
Paradox (2004-12-05 17:12) [2]>GanibalLector © (05.12.04 16:34) [1]
Тот же результат
Ошибся я немного когда постил, вместо B.parent_id = A.id_num должно быть B.parent_id = A.id
Очень хотелось бы разобраться в чём причина...
← →
GanibalLector © (2004-12-05 17:37) [3]Вот,то что тебе нужно:
select count(*),B.id_sb_edid from sostav B,sb_edin A where B.id_sb_edid =A.id group by 2
только вставь свои таблицы и поля
← →
Skier © (2004-12-06 10:56) [4]>GanibalLector © (05.12.04 17:37) [3]
select count(*), B.id_ierar from ierarx B, ierarx A where B.id_ierar = A.id_num
group by 2
capability not supported :(
← →
ЮЮ © (2004-12-06 11:06) [5]Потому, чот это не IB, такие подзапросы в LocalSQL не работают
SELECT
Parent.Id_num Number, Count(Child.Is) kidscount
FROM
ierarx Parent
LEFT JOIN ierarx Child ON Child.parent_id = Parent.Id_num
WHERE
Child.parent_id = 0
← →
ЮЮ © (2004-12-06 11:07) [6]и в конце:
GROUP BY Parent.Id_num
← →
Skier © (2004-12-06 12:03) [7]>ЮЮ © (06.12.04 11:06) [5]
т.е в LocalSQL это в принципе нельзя сделать ?
← →
ЮЮ © (2004-12-06 12:07) [8]Честно говоря, было бы хорошо, кабы и серверные БД не позволяли бы для каждой записи выполнять свой подзапрос :)
← →
Skier © (2004-12-06 12:11) [9]>ЮЮ © (06.12.04 12:07) [8]
Почему ?
← →
ЮЮ © (2004-12-06 12:21) [10]>Почему?
Потому, что накладно. Зачем для каждой записи выполнять свой запрос, если можно соединив (JOIN) нужным образом таблицы сразу получить нужное. Это реляционная база, в конце концов, или Master-Detail наборы данных на клиенте? :)
← →
Skier © (2004-12-06 12:47) [11]>ЮЮ © (06.12.04 12:21) [10]
Понятно...а из моей ситуации выход есть какой-нибудь ?
← →
ЮЮ © (2004-12-06 13:02) [12]А что, [5]+[6] тоже не работает?
← →
Skier © (2004-12-06 13:08) [13]>ЮЮ © (06.12.04 13:02) [12]
нет.
могу выслать табличку (если время есть...), там 30 кб всего...
← →
ЮЮ © (2004-12-06 13:10) [14]>(если время есть...)
У меня уже 20 местного, валю домой. Но выслать можешь - утром гляну :)
← →
ЮЮ © (2004-12-06 13:13) [15]> ЮЮ © (06.12.04 13:10) [14]
kolesov <скотина, сволочь и т.д.> msun точка ру
← →
ЮЮ © (2004-12-07 04:21) [16]После исправления ряда ошибок и указания имен тех полей, которые реально существуют в таблмце получим:
SELECT
Parent.Id_num Number, Count(Child.Id_num) kidscount
FROM
ierarx Parent
LEFT JOIN ierarx Child ON Child.id_ierar = Parent.Id_num
WHERE
Parent.id_ierar = 0
GROUP BY Parent.Id_num
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.01.02;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.038 c