Обязательно проверю, как буду за ноутом. За варианты спасибо.
Добавлено спустя 8 часов 13 минут 52 секунды:vitaly_l писал(а):Код: Выделить всё
SELECT ID, IDMATCHPOSITION, IDOWNER, WCS FROM W_TMP_TBL WHERE WCS=(SELECT MAX(WCS) FROM W_TMP_TBL) GROUP BY IDMATCHPOSITION
Код: Выделить всё
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause).
Firebird не позволяет так сгруппировать.
alexs писал(а):Там может мой второй вариант, но с привязкой по двум колонкам? А в подзапросе группировка по двум полям?
Попробуй переформулировать условие. Сложно доходит.
Попробую, спасибо.
Это вы уже прочитали?
Таблица содержит результат выборки
WCS сравнения позиций
IDMATCHPOSITION с позицией
ID у владельца
IDOWNER. Чем больше
WCS, тем больше позиции соответствуют друг другу.
Задача вывести в грид список
IDMATCHPOSITION с соответствующими
WCS ,
ID,
IDOWNER. Но нельзя допускать дублирование значения поля
IDMATCHPOSITION в результате.
То есть при наличии дубля (строка 3 и 4 в примере
по ссылке выше) вывести одну, например, с наименьшим ID.
p.s. Спасибо всем за терпение - сложно мне выражать мысли
Добавлено спустя 4 минуты 55 секунд:Всем огромное спасибо!
НА sql.ru подкинули вариант, который устраивает полностью:
Код: Выделить всё
select t1.IDOWNER,min(t1.ID),t1.WCS,t1.IDMATCHPOSITION from W_TMP_TBL t1
inner join(
SELECT IDMATCHPOSITION, MAX(WCS) MWCS FROM W_TMP_TBL
GROUP BY IDMATCHPOSITION ) t2 ON
(t1.WCS=t2.MWCS AND t1.IDMATCHPOSITION = t2.IDMATCHPOSITION)
GROUP BY 1,3,4
Еще раз всем спасибо за терпение.
Добавлено спустя 1 минуту 2 секунды:2017-12-15_20-29-41.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.