Hirdetés
- Fotók, videók mobillal
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Vivo X300 Ultra - tárcsázz, ha van rá keret!
- Honor Magic 8 Pro Air a neve, január 19-én mutatják be
- Xiaomi 17 Ultra - jó az optikája
- Óra vagy karperec? Egészségügyi mindenes!
- Google Pixel 9 Pro XL - hét szűk esztendő
- Poco X8 Pro Max - nem kell ide sem bank, sem akkubank
- Samsung Galaxy S23 Ultra - non plus ultra
- Telekom mobilszolgáltatások
-
Mobilarena

Ú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!
- Gamer PC-Számítógép! Csere-Beszámítás! Ultra 5 245KF / RTX 5060 / 16GB RGB DDR5 / 1TB Nvme SSD
- Új Asus Zenbook 14 OLED 2.8K 90Hz HDR i7-13700H 14mag 16GB RAM 1TB SSD Intel Iris XE Win11 Garancia
- HP EliteBook 840 G6, G5 14" i5, 8-16GB RAM, SSD, jó akku, számla, 6 hó gar
- Apple MacBook AIR 13 / M2 / 16GB / 256 GB! BeszámítOK
- Új 27% - ASUS TUF Gaming TF120 ARGB 3-pack FEKETE (90DA0030-B09030)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


