Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не получается сделать запрос IB6.5


asdf2 ©   (2008-04-01 16:58:00) 

Есть две табл.

первая:
ID, NAme
вторая
ID, foreg_ID, Len

связаны по ID и foreg_ID

надо сделать вывод Name, Sum(Len) и Count(Len). Но считать в Count(Len) только разные значения foreg_ID. Как-то сумбурно... В общем, если значения foreg_ID одинаковые, то это считается за 1.


asdf2   (2008-04-01 18:02:00) [1]

во:
SELECT cm.cable_mark_name mark,
      SUM(cs.count_spros) SUMMA,
      (SELECT  COUNT(DISTINCT count_spros)
         FROM calculation_spros
        WHERE count_spros > 0
          AND cs.id_mark = id_mark) CN
 FROM cable_mark cm, calculation_spros cs
WHERE cm.id_mark = cs.id_mark
GROUP BY  cm.cable_mark_name
 HAVING cs.count_spros > 0
ORDER BY cm.cable_mark_name
вроде так.


asdf2   (2008-04-01 17:13:00) [2]


> Ega23 ©   (01.04.08 17:09) [3]

это я сумму посчитаю, а как посчитать сумму полей, соотв поле foreg_ID которых разное?


Ega23   (2008-04-01 17:09:00) [3]

group by тебе в помощь


asdf2   (2008-04-01 17:08:00) [4]


> tesseract ©   (01.04.08 17:00) [1]

не, ты не понял
в табл 2 есть несколько строк с одинаковыми foreg_ID.


tesseract   (2008-04-01 17:00:00) [5]


> В общем, если значения foreg_ID одинаковые, то это считается
> за 1.


Конечно, это основной принципе релятивистких баз данных, все значения должны быть разными. Или выбирать SUM или что-то вроде того.


Наверх

Титульная страница Поиск, карта сайта Написать письмо