Hirdetés
- Luck Dragon: Asszociációs játék. :)
- gban: Ingyen kellene, de tegnapra
- Magga: PLEX: multimédia az egész lakásban
- juhi11: Karácsony esély, hogy észrevegyük: mások is valakik - még Isten is
- Torda: Így lehet fillérekből prémium okosotthon rendszert építeni 2025-ben
- GoodSpeed: Munkaügyi helyzet Hajdú-Biharban: észak és dél
- Gurulunk, WAZE?!
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- btz: Internet fejlesztés országosan!
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- A piac legerősebb kameráját ígéri a Xiaomi 17 Ultra
- Bemutatkozott a Poco X7 és X7 Pro
- Drága Bluetooth tagek olcsóbb alternatívái (MiLi MiTag, LiTag, OTAG, stb.)
- Youtube Android alkalmazás alternatívák reklámszűréssel / videók letöltése
Új hozzászólás Aktív témák
-
Apollo17hu
őstag
válasz
mr.nagy
#3698
üzenetére
Szia!
Írtam a példádhoz egy favágó kódot. Legalábbis ha sql-ben kellene megoldani, akkor én úgy állnék neki, hogy meghatároznám a total igényt, az igénylők darabszámát, és ebből számolnék tovább.
Akkor nincs gond, ha az igény többszöröse a kiosztható értéknek, mert akkor egyszerűen a kiosztható értéket az igénylők számával kell leosztani, és minden igénylő ennyit fog kapni. (Ezt már nem kódoltam bele, de értelemszerűen 20 db CASE WHEN-ről lesz szó...)
Eddig írtam meg a kódot. Még megképeztem egy olyan mezőt, ami azt tartalmazza, hogy mennyi olyan kiosztható érték marad, amiből már csak 1-1 darabot lehet véletlenszerűen (vagy extra logikával?) odaadni az igénylőknek.
select case when alap.kioszthato >= alap.total then 'N' else 'I' end hiany_fl
,case when alap.kioszthato >= alap.total then null
when isnull(alap.darab, 0) = 0 then null
else floor(alap.kioszthato / alap.darab) end ennyire_kell_csokkenteni
,case when alap.kioszthato >= alap.total then 0
when isnull(alap.darab, 0) = 0 then null
else alap.kioszthato - floor(alap.kioszthato / alap.darab) * alap.darab end ennyi_szetosztando_marad
,alap.*
from
(SELECT P1+P2+P3+P4+P5+P6+P7+P8+P9+P10+P11+P12+P13+P14+P15+P16+P17+P18+P19+P20 as total
,case when P1= 0 then 0 else 1 end + case when P2= 0 then 0 else 1 end + case when P3= 0 then 0 else 1 end + case when P4= 0 then 0 else 1 end + case when P5= 0 then 0 else 1 end + case when P6= 0 then 0 else 1 end + case when P7= 0 then 0 else 1 end + case when P8= 0 then 0 else 1 end + case when P9= 0 then 0 else 1 end + case when P10= 0 then 0 else 1 end + case when P11= 0 then 0 else 1 end + case when P12= 0 then 0 else 1 end + case when P13= 0 then 0 else 1 end + case when P14= 0 then 0 else 1 end + case when P15= 0 then 0 else 1 end + case when P16= 0 then 0 else 1 end + case when P17= 0 then 0 else 1 end + case when P18= 0 then 0 else 1 end + case when P19= 0 then 0 else 1 end + case when P20= 0 then 0 else 1 end as darab
,t.*
FROM Teszts t) alap
Új hozzászólás Aktív témák
- Battlefield 6
- PlayStation 5
- Luck Dragon: Asszociációs játék. :)
- Tőzsde és gazdaság
- „Új mérce az Android világában” – Kezünkben a Vivo X300 és X300 Pro
- A piac legerősebb kameráját ígéri a Xiaomi 17 Ultra
- Bemutatkozott a Poco X7 és X7 Pro
- gban: Ingyen kellene, de tegnapra
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Kecskemét és környéke adok-veszek-beszélgetek
- További aktív témák...
- 15.gen! Intel Core Ultra 9 285K +16-32GB DDR5 RAM +hűtött VRM-es Z890 lap! GAR/SZÁMLA (a Te nevedre)
- OP AudioCodes C450HD Ip Phones - Szines kijelzős - Teams/ Zoom telefon - Új dobozos
- ATEN Cat 5 KVM over IP Switch Altusen KH1508AI - Új ára 284.000Ft
- AirPort Extreme 802.11n (3rd Generation) Model A1301 -
- BLACKBOX ServeSwitch octet 724-746-5500 -
- 5G Lenovo ThinkPad P14s Gen 3 Intel Core i7-1280P Nvidia T550 32GB 1000GB 1 év teljeskörű garancia
- Samsung Galaxy S22 / 8/128GB / Kártyafüggetlen / 12Hó Garancia
- LicencAruhaz.hu OLCSÓ, LEGÁLIS SZOFTVEREK AZONNAL - Windows - Office - Win Server - ÖRÖK GARANCIÁVAL
- ÁRGARANCIA!Épített KomPhone i5 14400F 32/64GB RAM RTX 5060 Ti 8GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! ASUS H510M i5 10500 16GB DDR4 512GB SSD RTX 2060 Super 8GB Zalman T4 Plus ADATA 600W
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

