Hirdetés
- Samsung Galaxy A52s 5G - jó S-tehetség
- Nothing Phone 2a - semmi nem drága
- Honor Magic5 Pro - kamerák bűvöletében
- Samsung Galaxy S26 Ultra - fontossági sorrend
- Xiaomi 15T Pro - a téma nincs lezárva
- Íme az új Android Auto!
- Amazfit Active 2 NFC - jó kör
- Xiaomi 14 - párátlanul jó lehetne
- Poco F5 - pokolian jó ajánlat
- iPhone topik
Új hozzászólás Aktív témák
-
Apollo17hu
őstag
válasz
BeeGee2115
#3642
üzenetére
- tran.tranzakcio_ertekhelyett- nvl(tran.tranzakcio_ertek, 0)-t használj, és így nem fog "eltűnni" az egyenlegszerk.: Most olvasom, hogy közben magad is rájöttél a megoldásra.

-
Apollo17hu
őstag
válasz
BeeGee2115
#3640
üzenetére
kb. úgy, ahogy az előbb leírtam: a kettőből 1-1 allekérdezést csinálsz, és számlaszám mentén összekötöd őket, ill. a számlára aggregált allekérdezéshez "gyengén" kötöd a tranzakcióra aggregált allekérdezést (LEFT JOIN, ha a pluszjeles szintaktika nem működne)
-
BeeGee2115
csendes tag
válasz
BeeGee2115
#3638
üzenetére
Közben agyaltam kicsit és arra jutottam, hogy ennek a két lekérdezésnek a kivonása jelentené a megoldást:
A)
SELECT Számla,
SUM(Összeg) Egyenleg
FROM Adatok
GROUP BY Számla;
B)
SELECT Tranzakció,
SUM(Összeg) Egyenleg
FROM Adatok
WHERE Tranzakció!=''
GROUP BY Tranzakció;A-B hogyan lehetséges?
-
Apollo17hu
őstag
válasz
BeeGee2115
#3638
üzenetére
Egy mintaadatbázis jól jönne sqlfiddle-ben. Addig is ezt értettem meg a leírtakból:
SELECT
szla.Számla,
szla.szamla_ertek - tran.tranzakcio_ertek
FROM
(SELECT Számla,
SUM(Összeg) AS szamla_ertek
FROM Adatok
GROUP BY Számla) szla
,(SELECT Tranzakció,
SUM(Összeg) AS tranzakcio_ertek
FROM Adatok
GROUP BY Tranzakció) tran
WHERE szla.Számla = tran.Tranzakció(+)Az lenne az elve, hogy külön-külön összesítjük a "Számla" és a "Tranzakció" mezőkben lévő összegeket, és ahol a "Számla" és a "Tranzakció" egyezik, ott a kettőt kivonjuk egymásból.
-
Apollo17hu
őstag
válasz
BeeGee2115
#3636
üzenetére
nem vagyok teljesen képben, de talán erre van szükséged:
SELECT szamla,
SUM(osszeg) - SUM(CASE WHEN tranzakcio IS NOT NULL then osszeg ELSE 0 END)
FROM adatok
GROUP BY szamla...ami - ha jól gondolom - egyenértékű ezzel (egyszerűen eldobjuk azokat a rekordokat, amelyek tranzakciót - is - jelölnek):
SELECT szamla,
SUM(osszeg)
FROM adatok
WHERE tranzakcio IS NULL
GROUP BY szamla -
Apollo17hu
őstag
válasz
BeeGee2115
#3634
üzenetére
Így?
SELECT szamla,
SUM(CASE WHEN osszeg > 0 then osszeg ELSE 0 END) pozitiv,
SUM(CASE WHEN osszeg < 0 then osszeg ELSE 0 END) negativ
FROM adatok
GROUP BY szamla -
tm5
tag
válasz
BeeGee2115
#3632
üzenetére
Szerintem nem kell rögtön táblát léterhozni ehhez, mert akkor minden Adatok tábla módosítás (insert/update/delete) után frissítened kellene a Számlák táblát.
Bőven elég egy lekérdezés:SELECT szamla, SUM(osszeg)
FROM adatok
GROUP BY szamlaMondjuk ez negatívval nem tartalmazza azt amikor az egyik számláról mozog a pénz a másikra. Ahhoz az kellene, hogy hozz létre egy negatív sort a "from" számlához is amikor onnan átkerül pénz a másikra.
Új hozzászólás Aktív témák
Hirdetés
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Parkside szerszám kibeszélő
- Kertészet, mezőgazdaság topik
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Assetto Corsa EVO
- Máris tesztelhető az Xbox mód a Windows 11-hez
- Fűnyíró topik
- Kormányok / autós szimulátorok topikja
- Kerékpárosok, bringások ide!
- Linux kezdőknek
- További aktív témák...
- Bérelhető csúcskategóriás PC RTX 5090-vel - Ryzen 7/9, DDR5 ram
- ASRock Radeon RX 9060 XT Challenger OC 16GB - INGYEN FOXPOST
- Picit hibás - iPhone 12 PRO MAX 256GB - Grafit - Új 100% akkuval
- Normál állapotú Galaxy S25 DS 256GB Navy Blue
- Bowers & Wilkins 702 Signature Datuk Gloss Karcmentes, hazai darab
- Dell Precision 5530 15,6" UHD touch, i7 8850H, 16GB RAM, 4GB VGA, 512GB SSD, jó akku, számla, gar
- GYÖNYÖRŰ iPhone 13 256GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS4447, 100% Akkumulátor
- AKCIÓ! Inno3D iChill X3 RTX 3080 Ti 12GB videokártya garanciával hibátlan működéssel
- 58.5 mm full fém tamper
- AKCIÓ! Motorola Sound Flow XT2549-1 hangszóró hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


