Всем здрасти
Дайте, пожалуйста, пример запроса, решающего такую задачу: в базе есть несколько объектов одного типа, у них три атрибута (назовем их x,y и n). X и Y - произвольные строки, N - уникальный номер, он имеет сквозную нумерацию для каждой уникальной группы XY.
Пример: есть 1 объект (X='альфа', Y='123', N='1'), есть 2 объект (X='альфа', Y='123', N='2'), создаем 3 объект (X='бета', Y='123', при этом N='1', т.к. группа XY другая, и нумерация начинается заново), создаем 4 объект (X='альфа', Y='123', N='3', т.к. до этого уже существовало 2 объекта с такой же группой XY).
Так вот, нужен запрос, возвращающий ID объекта с максимальным N для заданной группы XY, и запрос, возвращающий просто максимальный N для заданной группы.
Подскажите с SQL-запросом
- Александр
- Активный участник
- Сообщения: 1652
- Зарегистрирован: 24 авг 2006, 08:06
- Используемое ПО: Lotsia PDM PLUS
- Откуда: 55.745578,37.665825
Re: Подскажите с SQL-запросом
посмотри - может это поможет http://www.lplm.ru/phpBB2/viewtopic.php?f=18&t=594 - если нет то на sql.ru - там ответят за секунду - если вопрос красиво нарисуешь
группировка нужна
группировка нужна
Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный
-
- Участник
- Сообщения: 32
- Зарегистрирован: 06 фев 2008, 15:23
- Откуда: Москва
- Контактная информация:
Re: Подскажите с SQL-запросом
Прочитал книжку по SQL. Все оказалось проще, чем я думал Можно сделать с join`ами, можно без них. Вот мой вариант:
Из Лоции передаем только переменную "АААА.711111".
Код: Выделить всё
select max(vn.value) as 'Порядковый номер' from LSDBO.value_numeric vn
where vn.id in
(select atv.value_id from LSDBO.attrib_value atv
where atv.attrib_id='100000004100001' and atv.object_id in
(select oref.id from LSDBO.object_reference oref
where oref.type_id='100000005100002' and oref.description like ('АААА.711111.%')));