Hirdetés
- Áprilisi hardverpasziánsz
- Milyen széket vegyek?
- Fejhallgató erősítő és DAC topik
- 4K vs 8K – Megéri-e a 8K TV 2026-ban?
- 240 Hz-es QD-OLED monitor jött az Alienware-től az árérzékenyebbek számára
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Melyik hordozható audiolejátszót (DAP, MP3, stb.) vegyem?
- Milyen TV-t vegyek?
- ThinkPad (NEM IdeaPad)
- Házimozi belépő szinten
Új hozzászólás Aktív témák
-
válasz
SunyaMacs
#3835
üzenetére
Az itteni funkcionalitáshoz azért lehet, hogy többre lenne szükség.
- messageid
- topicid
- status is kell, mert lehet szerkeszteni, moderátor törölheti, stb
- egy üzenet több csatolt képet is tartalmazhat, ezeket is tárolnod kell, bár értelemszerűen nem ebben a táblábanFontos, ha valaki szerkeszt egy hozzászólást megőrzöd-e az eredetit.
Először írd össze, hogy mit kell ténylegesen tudnia. Ha ez megvan, akkor érdemes mellé valamit tervezni.
-
-
válasz
mr.nagy
#3702
üzenetére
A megoldás.
- ki kell pattintani az adatok egy kulturáltabb formába
- meghatározni, hogy az igény kevesebb vagy több, mint a rendelkezésre álló mennyiség
- amennyiben kevesebb a rendelkezésre álló mennyiség, akkor arányosan mindenki kevesebbet kap (csak egész értéket)
- a maradékokat szétosztjuk úgy, hogy a legkisebb igénytől a legnagyobbig emelkedő sorrendben kapnak kompenzációtNézd el nekem, hogy a kiosztandó mennyiséget ennyi_van néven konstansként tettem bele, de kicsit már késő van

create table NormalTeszt
(
igeny_id integer,
igeny_elem char(3),
mennyiseg integer
);INSERT INTO NormalTeszt
([igeny_id], [igeny_elem], [mennyiseg])
VALUES ('1', 'P01', '3'), ('1', 'P02', '5'), ('1', 'P03', '7'), ('1', 'P04', '6'), ('1', 'P05', '8'), ('1', 'P06', '9'),
('1', 'P07', '4'), ('1', 'P08', '5'), ('1', 'P09', '3'), ('1', 'P10', '4')
;select
igeny_id,
ennyi_van,
igeny,
igeny_elem,
sorszam,
mennyiseg,
case when
ennyi_van - igeny < 0
and ennyi_van - uj_total > 0
and sorszam <= (ennyi_van - uj_total) then uj_mennyiseg + 1
else uj_mennyiseg
end as kiosztott
from (
select
igeny_id,
ennyi_van,
igeny,
igeny_elem,
mennyiseg,
sorszam,
case when ennyi_van / igeny < 1
then cast(mennyiseg * (ennyi_van / igeny ) as integer)
else mennyiseg end as uj_mennyiseg,
sum(case when ennyi_van / igeny < 1
then cast(mennyiseg * (ennyi_van / igeny ) as integer)
else mennyiseg end)
over(partition by igeny_id) as uj_total
from (
SELECT
t.igeny_id,
cast(40 as decimal (5,2)) as ennyi_van,
t.igeny_elem,
t.mennyiseg,
row_number() over(partition by t.igeny_id order by mennyiseg asc) as sorszam,
cast(sum(t.mennyiseg) over(partition by t.igeny_id) as decimal(5,2)) as igeny
FROM NormalTeszt as t) as t1
) t2
order by sorszam
Új hozzászólás Aktív témák
Hirdetés
- AKCIÓS!! áthajtós érintős 360 szinteÚJ Dell 16 Plus 2-in-1 Ultra 7 258V Intel Arc 140V 32GB 1TB SSD
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- ÚJ Acer Nitro V 17 AI - 17.3"QHD 165Hz - Ryzen 7 260 - 16GB - 1TB - Win11 - RTX 5060 - 3 év Gar - HU
- Bomba ár! Asus R512CA - Core i3 I 4GB I 500GB I 15,6" HD I HDMI I Cam I W10 I Garancia!
- AKCIÓ! Gigabyte Vision OC RTX 3080 10GB videokártya garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



