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

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

Отбор связанных таблиц [D6]


erika ©   (2005-07-15 12:52:00) 

IB. Существует  2  таблицы: по клиентам (PK INK) и  попокупкам (FK INK, PK ISL), связаны соотвественно по полю INK.  Поле NOMBERS - это номер покупки.

Существует необходимость произвести отбор:
1. клиентов, которые имеют 5 и  более покупок (все верно получается  если where sells.nomber >=5)
2. клиентов, которые имеют только 1 покупку (выходят все записи, у  которых есть и  первая,  и вторая, и третья и т.д. покупки)

SQL выглядит следующим образом:

select fam, name, nomber klient
from klient
inner join klient.ink=sells.ink
where sells.nomber = 1

Как правильно построить запрос для отбора клиентов у которых только 1 - а покупка.


Reindeer Moss Eater   (2005-07-15 17:16:00) [1]

select count(a.ink),b.name from sells a, klient b
where a.ink = b.ink
group by b.name
having count(a.ink) = 1


erika   (2005-07-15 14:00:00) [2]

Зависает не могу понять в  чем туту дело


Digitman   (2005-07-15 13:04:00) [3]

select
fam, name
from
klient
where ink in (select ink from sells group by ink having count(ink)=1)


Johnmen   (2005-07-15 13:01:00) [4]

См. в доки, GROUP BY и HAVING.


Наверх

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