Új hozzászólás Aktív témák
-
bpx
őstag
válasz
lordring
#2979
üzenetére
Az SQL Server is tudja már 2008-tól az ehhez szükséges aggregációs kiegészítéseket. Kicsit eltördeltem, hogy látszon mit módosítottam:
SELECT
T0.[ItemCode], T0.[Dscription], T0.[Quantity], T0.[Price], T0.[Currency],
sum(T0.[LineTotal]), -- eredeti helyett sum, ez valojaban csak az utolso sorban lesz osszeg
sum(T0.[TotalFrgn]), -- eredeti helyett sum, ez valojaban csak az utolso sorban lesz osszeg
T2.[CardName], T0.[ShipDate], T1.[CardCode]
FROM
CSI1 T0 INNER JOIN OITM T1 ON T0.ItemCode = T1.ItemCode
INNER JOIN OCRD T2 ON T1.CardCode = T2.CardCode
WHERE
T0.[ShipDate] >=[%0]AND T0.[ShipDate] <=[%1] AND T2.CardName = '[%3]'
-- es itt jon a lenyeg
GROUP BY
GROUPING SETS((),(T0.[ItemCode], T0.[Dscription], T0.[Quantity], T0.[Price], T0.[Currency], T2.[CardName], T0.[ShipDate], T1.[CardCode] )); -
tm5
tag
válasz
lordring
#2979
üzenetére
Szóval valami ilyennek kéne lenni:
SELECT
T0.[ItemCode], T0.[Dscription], T0.[Quantity], T0.[Price], T0.[Currency], T0.[LineTotal], T0.[TotalFrgn],
T2.[CardName], T0.[ShipDate], T1.[CardCode]
FROM CSI1 T0
INNER JOIN OITM T1 ON T0.ItemCode = T1.ItemCode
INNER JOIN OCRD T2 ON T1.CardCode = T2.CardCode
WHERE
T0.[ShipDate] >=[%0]AND T0.[ShipDate] <=[%1] AND T2.CardName = '[%3]'
UNION ALL
SELECT
0,'Total:', SUM(LineTotal), SUM(TotalFrgn), NULL, NULL, NULL
FROM
(
SELECT
T0.[ItemCode], T0.[Dscription], T0.[Quantity], T0.[Price], T0.[Currency], T0.[LineTotal], T0.[TotalFrgn],
T2. [CardName], T0.[ShipDate], T1.[CardCode]
FROM CSI1 T0
INNER JOIN OITM T1 ON T0.ItemCode = T1.ItemCode
INNER JOIN OCRD T2 ON T1.CardCode = T2.CardCode
WHERE
T0.[ShipDate] >=[%0]AND T0.[ShipDate] <=[%1] AND T2.CardName = '[%3]'
)Mindamellett az a véleményem, általában a Total sort nem itt kéne számolni, hanem a kliens oldalt, hisz valszeg a megjelenítéskor úgyis másképp lesz formázva.
-
rum-cajsz
őstag
válasz
lordring
#565
üzenetére
A selectben kell egy group by, a számított mezőkre pedig csoportosító fv.
Ha jól értem ez kellene:SELECT
T1.[CardCode], sum(T0.[Quantity]), sum(T0.[LineTotal])
FROM INV1 T0
INNER JOIN OITM T1 ON T0.ItemCode = T1.ItemCode
WHERE T0.[DocDate] >=[%1] and T0.[DocDate] <= [%2]
group by T1.[CardCode]
Új hozzászólás Aktív témák
- Mibe tegyem a megtakarításaimat?
- MWC 2026: Kezünkben a minden tekintetben európai okostelefon
- HiFi műszaki szemmel - sztereó hangrendszerek
- sziku69: Fűzzük össze a szavakat :)
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- exHWSW - Értünk mindenhez IS
- Samsung Galaxy A56 - megbízható középszerűség
- Eredeti játékok OFF topik
- Micro Four Thirds
- Bundle topik
- További aktív témák...
- Honor 400 512GB, Kártyafüggetlen, 1 Év Garanciával
- L13 Yoga Gen3 13.3" FHD+ IPS érintő i5-1245U 16GB 256GB NVMe ujjlolv IR kam aktív toll gar
- Iphone 13 128GB Rózsaszin, Független, 100% új akku, garanciával, üzlet
- I7 9700k + msi Rtx 2080 komplett gép eladó
- L13 Yoga Gen3 13.3" FHD+ IPS érintői5-1245U 16GB 256GB NVMe ujjlolv IR kam aktív toll gar
- Telefon felvásárlás!! iPhone 14/iPhone 14 Plus/iPhone 14 Pro/iPhone 14 Pro Max
- ASUS ROG Strix OLED XG27AQDMGR (1440p,240Hz,TrueBlack Glossy,G-Sync) 3év garanciával!
- Asus Rog Strix B250f Gaming
- Lenovo Legion 9 (16IRX9) - Intel Core i9-14900HX, RTX 4090
- Lenovo T495 Ryzen 5 pro 3500U, 16GB RAM, 512GB SSD, jó akku, újszerű állapot, számla, garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
