Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
1-1103186106
Mishenka
2004-12-16 11:35
2005.01.02
Добавление элементов в GroupBox?


14-1102704932
Hypercube
2004-12-10 21:55
2005.01.02
Лицензионные соглашения


14-1102795061
Alexander Makhanev
2004-12-11 22:57
2005.01.02
нужны примеры UML диаграмм


1-1103400620
Алексей
2004-12-18 23:10
2005.01.02
буфер обмена


3-1102055435
Игорь нтк
2004-12-03 09:30
2005.01.02
Combobox





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский