Форум: "Базы";
Текущий архив: 2003.04.07;
Скачать: [xml.tar.bz2];
ВнизВыборка единственной строки из многих.... Найти похожие ветки
← →
БАА (2003-03-15 17:50) [0]Здравствуйте, уважаемые...Задача собственно в следующем: необходимо выбрать одну строку из многих. Для понятности, пример:
Клиенты Прайс-листы:
ID NAME FIRMID NAME
1 Он 1 Кастрюль
2 Она 1 Кастрюля
3 Оно 1 Кастрюлька
Необходимо получить список из клиентов, каждому клиенту где соответствует ОДНА позиция с прайс-листа. Надеюсь я понятно выразился.
← →
Johnmen (2003-03-15 18:07) [1]Если правильно понял, то :
SELECT K.NAME FROM Клиенты K, Прайс-листы P
WHERE K.ID=P.FIRMID
GROUP BY K.NAME
HAVING COUNT(P.FIRMID)=1
← →
PrettyFly (2003-03-15 18:10) [2]Как я понял результат должен быть:
1 "Он" "Кастрюль, Кастрюля, Кастрюлька"
2 "Она" ""
3 "Оно" ""
Так?
← →
PrettyFly (2003-03-15 18:14) [3]Чем больше читаю твою задачу, тем лучше понимаю, что понять это правильно просто невозможно... учись формулировать мысли ;)
← →
БАА (2003-03-16 08:33) [4]Ну пардон великодушно...Как шмог, так и донес.
Результат должен быть таким:
Он "Кастрюль"(либо Кастрюля, либо Кастрюлька, неважно)
Она ""
Оно ""
Что-то типа аналога top в MSSQL, только применительно к IB
← →
Alexandr (2003-03-16 08:59) [5]ну вообще, впоследних версиях твой top есть.
а так, хп тебе поможет
← →
Alexandr B. (2003-03-17 08:32) [6]еще вроде там есть first
Или непример если поле ID - уникально то
select *
from mytable where id = (select min(id) from mytable)
← →
Alexander Vasjuk (2003-03-18 14:13) [7]Сначала добавить в клиетнты и прайсы по полю номер, заполнить их разными новыми генераторами, потом выбрать клиентов и праысы с одинаковыми номерами
← →
ЮЮ (2003-03-19 06:12) [8]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
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.04.07;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c