Страница 1 из 1

Подскажите с SQL-запросом

Добавлено: 03 фев 2010, 13:07
Kikx
Всем здрасти :-)

Дайте, пожалуйста, пример запроса, решающего такую задачу: в базе есть несколько объектов одного типа, у них три атрибута (назовем их 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 для заданной группы.

Re: Подскажите с SQL-запросом

Добавлено: 03 фев 2010, 14:14
Александр
посмотри - может это поможет http://www.lplm.ru/phpBB2/viewtopic.php?f=18&t=594 - если нет то на sql.ru - там ответят за секунду - если вопрос красиво нарисуешь :wink:
группировка нужна

Re: Подскажите с SQL-запросом

Добавлено: 16 фев 2010, 16:16
Kikx
Прочитал книжку по SQL. Все оказалось проще, чем я думал :-) Можно сделать с join`ами, можно без них. Вот мой вариант:

Код: Выделить всё

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.%')));
Из Лоции передаем только переменную "АААА.711111".