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

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

Выборка единственной строки из многих.... [D5, IB5.x]


БАА ©   (2003-03-15 17:50:00) 

Здравствуйте, уважаемые...Задача собственно в следующем: необходимо выбрать одну строку из многих. Для понятности, пример:
Клиенты Прайс-листы:
ID NAME FIRMID NAME
1 Он 1 Кастрюль
2 Она 1 Кастрюля
3 Оно 1 Кастрюлька


Необходимо получить список из клиентов, каждому клиенту где соответствует ОДНА позиция с прайс-листа. Надеюсь я понятно выразился.


ЮЮ   (2003-03-19 06:12:00) [1]

Select Firms.ID, Firms.NAME, Max(Prices.NAME) OnePriceName
FROM Firms LEFT JOIN Prices on Firms.ID = Prices.FIRMID
GROUP BY Firms.ID, Firms.NAME
SORT BY Firms.NAME


Alexander Vasjuk   (2003-03-18 14:13:00) [2]

Сначала добавить в клиетнты и прайсы по полю номер, заполнить их разными новыми генераторами, потом выбрать клиентов и праысы с одинаковыми номерами


Alexandr B.   (2003-03-17 08:32:00) [3]

еще вроде там есть first

Или непример если поле ID - уникально то
select *
from mytable where id = (select min(id) from mytable)


Alexandr   (2003-03-16 08:59:00) [4]

ну вообще, впоследних версиях твой top есть.
а так, хп тебе поможет


БАА   (2003-03-16 08:33:00) [5]

Ну пардон великодушно...Как шмог, так и донес.
Результат должен быть таким:
Он "Кастрюль"(либо Кастрюля, либо Кастрюлька, неважно)
Она ""
Оно ""

Что-то типа аналога top в MSSQL, только применительно к IB


PrettyFly   (2003-03-15 18:14:00) [6]

Чем больше читаю твою задачу, тем лучше понимаю, что понять это правильно просто невозможно... учись формулировать мысли ;)


PrettyFly   (2003-03-15 18:10:00) [7]

Как я понял результат должен быть:

1 "Он" "Кастрюль, Кастрюля, Кастрюлька"
2 "Она" ""
3 "Оно" ""

Так?



Johnmen   (2003-03-15 18:07:00) [8]

Если правильно понял, то :
SELECT K.NAME FROM Клиенты K, Прайс-листы P
WHERE K.ID=P.FIRMID
GROUP BY K.NAME
HAVING COUNT(P.FIRMID)=1


Наверх

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