SQL сложно Query - Помогнете

6 отговора 1055 прегледа
#1

SQL сложно Query - Помогнете

Имам Таблица с няколко полета:
Id - Primary Key
DetailKod - Integer
Price - real
Paid - real
и няколко-стотин записа. Резлултата от заявката трябва да е всички DetailKod които отговарят на критерия Price<>Paid и сумата (Price) от върнатите записи да е <= от въведен параметър.

примерен резултат

ако всички записи са

Id DetailKod Price Paid
1 345 23.00 23.00
2 344 23.00 0.00
3 300 5.00 2.45
4 343 23.00 0.00
5 333 25.00 0.00

след изпъление на заявката искам сумата от върнатите записи да е <=30.0
резултат
Id DetailKod Price Paid
2 344 23.00 0.00
3 300 5.00 2.45
4 343 23.00 0.00
5 333 25.00 0.00
-------
76.00 <=80.00 което искам

Ако може някой да помогне

след изпъление на заявката искам сумата от върнатите записи да е <=80.0
резултат
Id DetailKod Price Paid
2 344 23.00 0.00
3 300 5.00 2.45
-------
28.00 <=30.00 което искам

Отговор
в отговор на sev_co #2

Re: SQL сложно Query - Помогнете

SELECT DetailKod, SUM(price) AS s
FROM tbl
WHERE Price <> Paid
GROUP BY DetailKod
HAVING s <= 12345;

salle.online.bg/sig
Отговор
в отговор на salle #3

Re: SQL сложно Query - Помогнете

за съжаление възприема s като параметър и иска да задам стойност за него.
видях че сам объркал когато пиша кога искам 80 и 30, но мисля че сте разбрали какво питам. Искам от всички зписи които отговарят на условието Price <> Paid да върне първите чиято сума е <= на предварително зададена.
Няма смисъл да изисвам всички записи щом ще покривам сума ще ми стигне да покрия първите няколко записа.

Отговор
в отговор на sev_co #4

Re: SQL сложно Query - Помогнете


SELECT *
FROM
(
SELECT *,
(SELECT SUM(price)
FROM test AS x
WHERE x.IDArt <= test.IDArt
and x.price - x.paid > 0
) AS SumMeAndPrev
FROM test
WHERE price - paid > 0
) AS T
WHERE T.SumMeAndPrev < @suma


Отговор
в отговор на darklord #5

Re: SQL сложно Query - Помогнете

Za sujalenie ne wrusta towa koeto iskam, t.e da zadam nqkakwa suma i da wurne purwite zapisi chiqto suma ot pole paid e <= na wuwedenata suma

Отговор
в отговор на Sev_co #6

Re: SQL сложно Query - Помогнете

Виж сега, ако си схванал(а) идеята можеш да го накараш да работи и по полето paid. Мисля че като за без пари даже съм ти показал повече от колкото трябва.
Успех!

Отговор
в отговор на darlord #7

Re: SQL сложно Query - Помогнете

ОК, Мерси за идеята, Не съм чак толкова навътре с SQL, за това питам тук.
Ако аз знаех на нещо което някой пита щях да му го кажа. все пак мерси

Отговор