Entwickler-Ecke

Datenbanken (inkl. ADO.NET) - SQL->Select mit Gruppierung möglich?


Christoph1972 - Mo 22.11.10 21:12
Titel: SQL->Select mit Gruppierung möglich?
Hallo Leute!

Ich bin gerade am rätseln, wie man folgende Aufgabenstellung mit SQL bewerkstelligt.

Eine Tabelle mit einer ähnlichen Struktur, liegt auf einem SQL-Server:


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
ID  Date         Type   Result
A  15.10.2010       T1  10
A  15.10.2010       T2  15
A  15.10.2010       M3  5
B  20.10.2010       T1  5
B  20.10.2010       T2  5
B  20.10.2010       M4  3
C  20.10.2010       M3  22
C  20.10.2010       T1  15
C  20.10.2010       T2  7
D  25.10.2010       M3  100
D  25.10.2010       M4  200


Nun möchte ich dass mir eine Abfrage folgende Tabellenstruktur zurück gibt:


Quelltext
1:
2:
3:
4:
5:
ID  Date          T1  T2  M3  M4
A  15.10.2010     10  15  5  
B  20.10.2010     5   5        3
C  20.10.2010     15  7  22  
D  25.10.2010            100  200


Ist das überhaupt möglich? Oder muss ich eine 08/15 Abfrage machen und dann über die Tabelle iterieren und die Struktur selbst neu aufbauen.

[OT] Gibts eigentlich eine Möglichkeit hier eine Tabelle einzufügen? Och finde es scheußlig wie das da oben gemacht habe....


Kha - Mo 22.11.10 21:36

Mit einem Group By über die ersten drei Spalten kannst du ja zumindest die Datenmenge auf das Nötige einschränken (falls das überhaupt erforderlich ist). Und um die Daten auf dem Client in die gewünschte Form zu bringen, gibt es immer noch LINQ - Iterieren war gestern ;) .
Vor einem Beispiel müsste ich aber noch wissen, wie der genaue Output gespeichert werden soll und was passieren soll, wenn in der Result-Spalte zwei verschiedene Werte auftauchen.

user profile iconChristoph1972 hat folgendes geschrieben Zum zitierten Posting springen:
[OT] Gibts eigentlich eine Möglichkeit hier eine Tabelle einzufügen? Och finde es scheußlig wie das da oben gemacht habe....
[code] :?:


Christoph1972 - Mo 22.11.10 21:43

Hi :)

Was meinst du mit das genaue Output speichern? Jeder Datensatz kann nur einmal vorkommen, unterschiedliche Results sollten ausgeschlossen sein.