German SQL Datenbank einlesen, sortieren und zusammenzählen

Wolli013

Active Member
Licensed User
Hallo liebe Forum Mitglieder,
wie kann ich es am besten lösen, wenn ich eine SQL Datenbank habe und der Reihe nach
die Hosen einlese und anzeigen lasse, so dass immer nur die gleichen Farben als ein Satz angezeigt wird?

So werden sie der Reihe nach gelesen und angezeigt.

Hose Blau – Stückzahl 2
Hose Grün – Stückzahl 7
Hose Blau – Stückzahl 2
Hose Blau – Stückzahl 8
Hose Grün – Stückzahl 3
Hose Gelb – Stückzahl 12
Hose Blau – Stückzahl 6
Hose Blau – Stückzahl 9

Ich hätte es aber gerne so

Hose Blau – Stückzahl 27
Hose Grün – Stückzahl 10
Hose Gelb – Stückzahl 12

Wie bekommt man es am besten hin?
Ist ein Arry hier die beste Lösung und wenn ja wie?
 

klaus

Expert
Licensed User
Wie sind die Spalten definiert ?
Denn ja nach dem wie die Spalten defniert sind ist die Lösung anders.
Sind Hose Blau zwei Spalten oder nur eine ?
Ist Stückzahl der Spaltenname oder in der Spalt enthalten.

Beispiel:
Angenommen dass es folgende Spalten gibt : Artikel (Hose), Farbe (Blau), Stückzahl (9)
Die Abfrage könnte dann so aussehen.
B4X:
Dim i As Int
Dim Artikel = "Hose" As String
Dim Query As String
Dim Curs As Cursor

' Abfrage der verschiedenen Farben
Query = "SELECT DISTINCT Farbe FROM " & SQLTabelName & " WHERE Artikel = '" & Artikel & "'"
Curs = SQL1.ExecQuery(Query)
Dim Farbe(Curs.RowCount) As String
Dim Anzahl(Curs.RowCount) As Int
For i = 0 To Curs.RowCount - 1
    Curs.Position = i
    Farbe(i) = Curs.GetString("Farbe")
    ' Abfrage der Summe der Stückzahl von Hosen mit der gegebenen Farbe
    Anzahl(i) = SQL1.ExecQuerySingleResult2("SELECT sum(Stückzahl) FROM " & SQLTabelName & " WHERE Artikel = ? AND Farbe = ? ", Array As String(Artikel, Farbe(i)))
Next
 

Wolli013

Active Member
Licensed User
Danke erstmal für deine Antwort

Sind Hose Blau zwei Spalten oder nur eine ? = Nur 1 Spalte


Ist Stückzahl der Spaltenname oder in der Spalt enthalten. = 1 Neue Spalte

Beispiel:
HosenFarbe= Cursor1.GetString("Hosenfarbe")
HosenAnzahl= Cursor1.GetString("Anzahl")
 

Wolli013

Active Member
Licensed User
Genau 1 Spalte Farbe und 1 Spalte Anzahl es sind immer nur Hosen Als Artikel

Ich werde dein Beispiel an meinen Bedürfnissen anpassen, vielen dank für deine Hilfe.
 
Top