- Honor Magic6 Pro - kör közepén számok
- Csak semmi szimmetria: flegma dizájnnal készül a Nothing Phone (3)
- Xiaomi 14T - nem baj, hogy nem Pro
- Apple iPhone 16 Pro - rutinvizsga
- iPhone topik
- Samsung Galaxy A54 - türelemjáték
- Milyen GPS-t vegyek?
- Magisk
- Itthon is kapható lesz a kerámia Xiaomi Band 10
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
Új hozzászólás Aktív témák
-
Agony
aktív tag
Köszi, a gond az volt, hogy a kezdő időpontot az egyik sor tartalmazta a befejező időpontot meg ugye az azt követő.
Végül sikerült megszülni a megoldást. Feljoinoltam a feladat táblát saját magára, csak egy sor eltolással, így már megvolt a kezdő- és záró időpont a datediffhez és a sum is működött.
(select
sum(datediff(second,f.idopont,f2.idopont))
from feladat f join feladat f2 on f.igenykod=f2.igenykod and f.tetelzam+1=f2.tetelszam
where f.igenykod=igenyek.igenykod)Köszönöm szépen a választ!
-
Agony
aktív tag
Sziasztok!
SQL lekérdezés kapcsán lenne szükségem egy kis útmutatásra és bízom a szaktudásotokban, mert én elvesztettem a fonalat.
Adott egy igény lista tábla, amin belül van egy feladatok tábla, tehát valaki indít egy igényt és azon belül akár több feladat is elvégezhető különböző személyek által. A feladatok elvégzésére fordított időt kellene összesíteni feladatonként, viszont a helyzetet bonyolítja, hogy bármikor megszakíthatják a feladatvégzés, amit aztán később folytatnak. Pl. munkaidő végén felfüggesztik, reggel pedig folytatják.
Valami SUM-al kombinált DATEDIFF szerűség kellene, de mivel többször megszakíthatnak és folytathatnak egy igényt, ötletem sincs hogyan...
Például:
Igény: Vevő megrendelés
Ezen belül vannak a feladatok az alábbi formában:
Feladat kezdés
A megrendelt áru összekészítése.
Feladat befejezésFeladat kezdés
A megrendelt áru csomagolása és átadása kiszállításra.
Feladat befejezésFeladat kezdés
A megrendelt áru kiszállítása.
Feladat befejezésMinden feladat kezdés és feladat befejezés tartalmaz egy időbélyegzőt, szóval a kezdés és a befejezés között kellene mondjuk egy különbözet percben, aztán ezt az egészet összegezni az igényre. Tehát az összekészítés mondjuk 5 perc volt, a csomagolás 3 perc, a kiszállítás pedig 40 perc, így az igény 48 perc munkaidő volt. Maguk a feladatok nem számítanak, minden esetben csak a kezdés és befejezés állapot között eltelt idő és ezeknek az összege.
Előre is köszönöm a segítséget!
-
Agony
aktív tag
válasz
Apollo17hu #2471 üzenetére
Köszönöm a válaszokat!
Megoldható, mert láttam ilyet működés közben, de sajnos nem jöttem rá, mi alapján dobja szét a nevezéseket.
Egyébként úgy van ahogy írod Apollo, minden több lóval induló lovast a beérkezett nevezés mennyiségen arányosan szétoszt.Itt látható egy példa a startlista fülre kattintva. Az a lovas aki 3 lóval megy az elejére-közepére-végére van elhelyezve, akik pedig 2 lóval mennek azok az elejére és a végére.
-
Agony
aktív tag
Sziasztok!
Szerintetek megvalósítható az alábbi elképzelés egy SQL lekérdezéssel?
Adott egy tábla ami tárolja a versenyekre a nevezéseket. Egy versenyre mondjuk beérkezik 30 nevezés, de egy versenyre ugyanaz az ember akár háromszor is jelentkezhet különböző lovakkal. Ez simán le is lehet kérdezni és megvan, hogy kik indulnak az adott versenyen/versenyszámban.
Viszont felmerült egy olyan igény, hogy szeretnék ha a nevezési listában több lóval induló személy nevezéseit a beérkezett nevezések között arányosan osztaná meg a lekérdezés, hogy legyen ideje átülni egy másik lóra.Tehát ha egy ember egy lóval indul teljesen mindegy hányadik a sorban, viszont ha egy ember 4 lóval megy, akkor úgy kellene listáznia a nevezéseket, hogy ez az ember legyen az első, a tizedik, a huszadik és a harmincadik induló a 30 nevezővel rendelkező versenyen.
A nevezésről most ezek az információk állnak rendelkezésre:
lovas varchar(100)
Lovas nevét tároljalo varchar(100)
A ló nevét tároljausername varchar(100)
A nevező felhasználót tárolja, hogy lekérdesse és módosíthassa a saját nevezéseit.egyesulet varchar(100)
A lovas egyesületének nevét tároljaedzo varchar(100)
Az edző nevét tároljaverseny varchar(100)
A verseny kódját tárolja ami a category táblával van kapcsolatban a verseny adataiért ha szükséges.versenyszam varchar(100)
A versenyszámot tárolja.nevezes datetime
A nevezés beérkezésének pontos idejét tárolja.id int(11) AUTO_INCREMENT
A beérkező nevezéseket sorszámozza.Előre is köszönöm az ötleteket!
-
Agony
aktív tag
válasz
Apollo17hu #2423 üzenetére
Azért raktam be őket, mert amúgy rengeteg felesleges számot hoz az oszlopokhoz. Pl. dátumokat másodpercekig lebontva, összegeket meg több mint 5 tizedesjegyig.
Végül a nullával osztásra is kitaláltam egy barkács megoldást, úgyhogy benne maradt a %-os Árrés is:
case t.EGYSAR < '1' then '0'
else convert(varchar(20),cast((t.KEDV/t.EGYSAR)*100 as decimal(15,2))) end as 'Kedv %',Lényegében ugyanaz mint amit te irtál, bár a tied szakszerűbbnek tűnik.
-
Agony
aktív tag
Meg is lett, csak a szerkesztés már inaktív lett. Vannak felvíve a számlákra kuponok is cikként amiknek 0Ft az ára, így viszont a
convert(varchar(20),cast((t.KEDV/t.EGYSAR)*100 as decimal(15,2))) as 'Kedvezmény (%)'
sor nullával osztás miatt elszáll, na de %-ot majd számolgat mindenki excelben.
-
Agony
aktív tag
válasz
Apollo17hu #2420 üzenetére
Köszi, igy, hogy áttettem azokat is LEFT-re most jön a megfelelő mennyiségű rekord. Most nullával osztás miatt száll el, de valami a BEKERÁR körül van, mert azt kivéve, tökéletes.
Kapirgálok még egy kicsit, köszi!
-
Agony
aktív tag
Sziasztok!
Most kezdtem ismerkedni az SQL lekérdezésekkel, mert a cégnél egyre többször van szükségünk olyan adatokra, amik alapesetben nem kinyerhetőek a vállalatirányítási rendszerből viszont egyéni lekérdezéssel hozzájuk lehet férni.
Csináltam egy értékesítésre vonatkozó lekérdezést, de kevesebb eredményt sort hoz, mint amennyi valójában van. 48520 rekordot kellene hoznia, de csak 46686-ot hoz.
Azt sikerült megtalálnom megtalálnom, hogy mi okozza, de már 1,5 órája guggolok afölött a 2 sor fölött és sehogy sem sikerül megvilágosodni.Ránéznétek a kódra, hogy mi az error?
A hibát ez a rész okozza, mert a k táblában az IDEGENMEGRSZAM mező nem minden esetben tartalmaz értéket, van ahol NULL. Ezért is próbálkoztam a LEFT JOIN-nal, mert a KUPONNÁL és KAMPÁNYNÁL is ez volt a helyzet és ott bevált.
LEFT JOIN BEREND g ON k.IDEGENMEGRSZAM = g.BIZONYLATSZAM
INNER JOIN (select BIZTIPUSKOD, BIZTIPUSNEV from BIZTIPUS i) i ON g.BTKOD = i.BIZTIPUSKODElőre is elnézést kérek, szakmai szemmel biztos nem egy gyönyör a kód, de csak amatőrködöm.
(SQL Server 2012 SP1)
Előre is köszönöm a segítséget!
Üdv,
Levi
Új hozzászólás Aktív témák
Hirdetés
- Linux kezdőknek
- Honor Magic6 Pro - kör közepén számok
- Kerékpárosok, bringások ide!
- Villanyszerelés
- A Micron újszerű módszerrel javítja QLC-s SSD-jének sebességét
- Épített vízhűtés (nem kompakt) topic
- S.T.A.L.K.E.R. 2: Heart of Chornobyl
- Csak semmi szimmetria: flegma dizájnnal készül a Nothing Phone (3)
- Autós topik
- EA Sports WRC '23
- További aktív témák...
- GAMER PC : RYZEN 5 4500 / 16GB DDR4 / ASUS RX 480 8GB / WiFi / Bluetooth / 512GB M.2 SSD / 500GB HDD
- Dell Latitude 7390, 13,3" FHD IPS , I5-7300U CPU, 16GB DDR4, 512GB SSD, WIN 11, ( olvasd végig )
- Acer PREDATOR HELIOS NEO 16 / i9-14900HX / RTX 4070 (140W) / 1 TB SSD / 240HZ
- Topping A70 Pro fejhallgató erősítő
- Topping D70 Pro Octo DAC
- Telefon felvásárlás!! iPhone 15/iPhone 15 Plus/iPhone 15 Pro/iPhone 15 Pro Max
- Amazon Kindle 10th Generation ébresztős tok
- ÁRGARANCIA! Épített KomPhone Ryzen 7 5700X 32/64GB RAM RTX 5060Ti 8GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! ASRock B250 i5 6600 16GB DDR4 256 SSD 500GB HDD GTX 1050 2GB Zalman Z1 Njoy 550W
- Üzleti Fujitsu Lifebook u7510 15,6" FHD IPS 2021/08. havi gyártás
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged