PDA

Просмотр полной версии : Помогите с SQL запросом


Freedom
16.12.2009, 10:43
Ребят помогите плиз.
В общем есть таблица допустим "хрень"

В ней список значений

Onecolumn:twocolumn:threecolumn

труляля:qweq:150
траляяк:sdfsfff:100
триляля:dfgdgd:300

Собственно вопрос. Нужно выбрать значения начиная с первого чтобы сумма threecolumn достигла 250

пробовал так

select *,sum(threecolumn) from хрень where sum(threecolumn)=250

Но это неправильно ((.

slesh
16.12.2009, 11:29
бери все, а потом считай. в MySQL просто так не получится.
В MSSQL можно, но через жопу )

spider-intruder
16.12.2009, 11:31
Думается мне без процедуры не обойтись. Циклы смотри. Выводи в каждой итерации по одной строке и накапливай в цикле сумму 3й колонки.

ZagZag
16.12.2009, 11:37
Одним запросом, имхо, не обойтись.
Проще всего сделать суммирование в скрипте.
Или попробовать написать мега-запрос с использованием LIMIT и COUNT(*)+1

Ra$cal
16.12.2009, 12:45
SELECT Onecolumn from хрень
group by Onecolumn
HAVING SUM(threecolumn) = 250

как то так. по крайней мере у меня в оракле работает для моих таблиц.

Freedom
16.12.2009, 18:57
SELECT Onecolumn from хрень
group by Onecolumn
HAVING SUM(threecolumn) = 250

как то так. по крайней мере у меня в оракле работает для моих таблиц.


group by не катит ((( разные значения в onecolumn.

лан. придется делать как посоветовал spider-intruder

Ra$cal
16.12.2009, 19:34
ну дык и что, что разные? вернутся 2 строки - труляля и траляяк. или требуется чтото другое?

Freedom
16.12.2009, 19:51
ну дык и что, что разные? вернутся 2 строки - труляля и траляяк. или требуется чтото другое?


бля точно )))))) спасибо. *помчался писать (ударение на а )))

Freedom
17.12.2009, 16:56
блин ((((. в общем забыл скеазать что реализация данного алгоритма нужна на Delphi + mssql и код выше не фурычит. Набросайте плиз.