-
Fototrend

Új hozzászólás Aktív témák
-
vz12
tag
válasz
bandi0000
#14927
üzenetére
TEMP tábla ugye használható?
Az alábbi ötletem van, a szintaktikát a környezetedre kell majd konkretizálni.(1) CREATE TABLE temp AS(SELECT MIN(pld,rpld) pld, MAX(pld,rpld) rpld, qtt FROM input_table)(2) CREATE TABLE celtabla AS(SELECT pld, rpld, SUM(qtt) qtt FROM temp GROUP BY pld,rpld ORDER BY pld, rpld)(3) DROP TABLE temp -
Drizzt
nagyúr
válasz
bandi0000
#14927
üzenetére
Hát, ha befér az összes a memóriába, akkor:
1. Csinál egy mapet, amiben a kulcs egy id pár(pId, rPid), az érték meg maga a sor lesz.
2. Menj végig az összes DB soron. Nézd meg, hogy az adott sor (rPid,pId) párosával szerepel-e már elem az 1-es pont map-jében. Ha igen, akkor update-eld meg a hozzá tartozó sort, s valahogy jelöld meg, hogy a db-be is ki kell majd írni(pl. a kulcsát beteszed egy toUpdate Set<pId, rPid> halmazba). Az éppen olvasott sort meg rakd bele egy toDelete Set<pId, rPid>-be. Sőt, még egyszerűbb egy toUpdate Set<id> setet használni inkább.
3. Amikor végigértél az értékeken, akkor már csak annyi a dolgod, hogy a toUpdate elemeire tolsz egy batch update-et, a toDelete értékeivel jelzett sorra meg egy batch delete-et.Viszon ahogy elnézem a db sorodat... Nem kell a cId-t is belevenni a buliba, s hármasokat keresni inkább a párok helyett?
-
pelyib
tag
válasz
bandi0000
#14927
üzenetére
SQL (bar eleg koki vagyok benne):
left join onmagara (pid = rpid), sum a qtt-re (left join miatt itt figyelni kell, ha nincs masik sor, akkor default 0) group by cid
Ez csak akkor mukodik ha 2 sorod van (de mondom, koki vagyok hozza!)Vagy a sum_qtt-t subselect-tel is meg lehet oldalni. Ez tuti mukodik tobb sorral is.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Ennyit dobott egy telefon gyártási költségén a memóriakrízis a Xiaomi szerint
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- E-book olvasók
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Luck Dragon: Asszociációs játék. :)
- Befutott a peronra a hardvervonat
- Véleményes teszt bizonygatja mennyit ér a Macbook Neo 8 GB RAM-ja
- Milyen Android TV boxot vegyek?
- Kertészet, mezőgazdaság topik
- Temu
- További aktív témák...
- HP EliteBook x360 1030 G2 i5-7300U / 8GB RAM / 256GB SSD / Magyar billentyűzet / 12 hónap garancia
- HP Victus Gaming Laptop INTEL I7-14700HX / RTX 4070 32GB RAM 1TB SSD 144Hz Gari
- HP Victus Gaming Laptop RTX 4070 / i7-13700H 16GB DDR5 1TB SSD Garancia
- Crucial MX500 500GB Enterprise Ssd
- Phanteks Enthoo Evolv X ház Eladó
- Lenovo ThinkPad L14 Gen 5 - 14" - Ryzen 5 pro 7535U, 16GB ddr5, SSD, jó akku, számla, 6 hó gar
- HIBÁTLAN iPhone 13 128GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS4638
- Rendelésre! 27% Áfás, Új, Bontatlan Apple Mac Studio M2 Ultra 24/60 mag, 64GB RAM, 2TB SSD
- AKCIÓ! Inno3D iChill X3 RTX 3080 Ti 12GB videokártya garanciával hibátlan működéssel
- HIBÁTLAN iPhone 12 Pro Max 256GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS4520
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

