vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
.NET LinQ (Grouping und Summe) 
Autor: AcidRain
Datum: 17.08.20 15:06

Hallo zusammen,

vielleicht kann mir ja jemand mit .NET und LINQ helfen...
Ich habe zwei Tabellen (datatables), welche die gleiche Struktur (Spalten) haben.
Nun möchte ich diese gerne miteinander verbinden, und nach der ArtikelID gruppieren und gleichzeitig möchte ich ganz gerne den Bestand summieren...

Tabelle 1 schaut z.B: so aus:
ArtID	Text	Bestand	Zusatzinfo
Art1	Hemd 1	2	farbe: grün
Art2	Hose	3	gelb
Art3	Shirt	0	rot
Tabelle 2 wie folgt:
ArtID	Text	Bestand	Zusatzinfo
Art1	Hemd	8	farbe: grün
Art2	Hose	10	gelb
Art3	Shirt	5	rot
Art4	Bluse	3	pink
Und das soll dann als Ergebnise rauskommen:
ArtID	Text	Bestand	Zusatzinfo
Art1	Hemd	10	farbe: grün
Art2	Hose	13	gelb
Art3	Shirt	5	rot
Art4	Bluse	3	pink
Mein bisheriger Ansatz mittels LINQ schaut wie folgt aus:
Dim query = (From x In ((From p In tData1
                Select p).Union(From pd In tData2 Select pd))
                Group x By Key = x.ArtikelID Into grouping = Group
                Let SumBestand = grouping.Sum(Function(x As DataClass) _
                  x.Bestand)
                From Merged In grouping.DefaultIfEmpty()
                Select New DataClassWith
                {
                   .ArtikelID = Merged.ArtikelID,
                   .Text= Merged.Text,
                   .Bestand = SumBestand,
                   .Zusatzinfo = Merged.Zusatzinfo
                }).ToList
Dummerweise macht er mir dann folgendes:
ArtID	Text	Bestand	Zusatzinfo
Art1	Hemd	10	farbe: grün
Art1	Hemd	10	farbe: grün
Art2	Hose	13	gelb
Art2	Hose	13	gelb
Art3	Shirt	5	rot
Art3	Shirt	5	rot
Art4	Bluse	3	pink
Art4	Bluse	3	pink
Quasi, er macht die Summe richtig, ABER, jeder Artikel ist dann auch zweimal drin...
Leider kann ich es nicht vorher (mittels SQL) gruppieren / summieren, ich MUSS es mit der DataTable (und oder List (Of ...)) machen, da die Daten bereits in der Applikation sind, und keine weitere Verbindung mehr zu den Daten auf dem Server liegen...

Beitrag wurde zuletzt am 17.08.20 um 15:08:04 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
.NET LinQ (Grouping und Summe)896AcidRain17.08.20 15:06
Re: .NET LinQ (Grouping und Summe)454AcidRain17.08.20 22:02

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel