LINQ to SQL-Gruppierung mehrere Spalten mit einer separaten Zeile
Habe ich die folgende Tabelle Struktur. Ich möchte select distinct CustomerId
und CustomerName
, TotalCost
.
Hier ist die Struktur der Tabelle und der Spalte Datentyp.
LogId (int)
CustomerId (string)
CustomerName (string)
Cost (int)
Logid /CustomerId /Kundenname /Kosten
- 1 2031 John Steward 20
- 2 2035 Mary Joe 10
- 3 2034 Robert Tuck 30
- 4 2031 John Setward 12
- 5 2036 Lukas David 15
- 6 2033 Kevin Le 14
- 7 2035 Mary Joe 9
- 8 2036 Lukas David 8
- 9 2035 18 Mary Joe
- 10 2037 Jesse Tom 25
- 11 2032 Antony James 27
- 12 2033 Kevin Le 26
Update 1
Hier ist meine Abfrage versucht so weit:
Dim db As New DemoDataContext()
Dim query = From log In db.LogRecords _
Where log.Cost> 10 _
Group log By New With {log.CustomerId, log.CustomerName} Into g() _
Select New With {g.CustomerId, g.CustomerName, .Cost = g.Sum(Function(log) log.Cost)}
Aber es macht Fehlermeldung Reichen Variablenname abgeleitet werden kann, nur aus einem einfachen oder qualifizierten Namen ohne Argumente.
Update 2
Dim queryResult = (From log In db.LogRecords _
Group log By log.CustomerId, log.CustomerName Into Cost = Sum(log => log.Cost ) _
Select New With { CustomerId, CustomerName, TotalCost })
For Each q In queryResult
Next
Fehler : der Name "queryResult" ist nicht deklariert.
- Ok.. du willst also select CustomerId, CustomerName und TotalCost oder LogId, CoustomerId und TotalCost?
- Ich möchten wählen Sie CustimerId,CustomerName, und Ihre Gesamtkosten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn verstehe ich deine Anforderungen richtig, so etwas sollte in C#:
[Bearbeiten]
Ich denke, mein ursprünglicher Gedanke auf, warum es nicht funktioniert hat, war falsch. Wir hatten nur die falsche syntax.
Select CustomerID, CustomerName, TotalCost
Nur eine Beobachtung. Nach dem, was Jeff M schrieb und update in Frage.