2016-08-25 2 views
-5

Ich habe diese Struktur enter image description hereEine Liste in der Spaltenüberschrift mit ASP NET und Linq

und ich möchte das folgende Ergebnis enter image description here

dies bedeutet, bekommen, dass ich die Liste des Jobs setzen muß in die Kopfzeile mit Linq/C#, könnt ihr mir dabei helfen? Ich hoffe, dass meine Frage ist klar :)

+0

Die Realität, die ich fürchte, ist, dass Sie etwas Mühe/Arbeit zeigen müssen, die Sie getan haben ... deshalb werden Sie niedergeschlagen ... http://www.codeproject.com/Articles/26657/Simple-LINQ-zu-SQL-in-C –

+0

Bitte zeigen Sie, was Sie getan haben. Dann können wir helfen –

+0

Ich muss wissen, wie kann ich es in SQL tun, nur mich auf die richtige Weise, wie kann ich die Liste der Arbeit in den Header setzen? ist Group by, .... jede Funktion könnte helfen, ich weiß nicht, wie kann ich es in Google suchen :( – user1187282

Antwort

1

Sie suchen nach PIVOT MS SQL-Funktion check this answer zum Beispiel.

Sie können es tun, ohne PIVOT wie folgt aus:

SELECT 
    p.PersonName, 
    SUM(CASE WHEN j.IdJob IS NULL THEN 0 ELSE 1 END) [IT], 
    SUM(CASE WHEN j1.IdJob IS NULL THEN 0 ELSE 1 END) [Teacher], 
    SUM(CASE WHEN j2.IdJob IS NULL THEN 0 ELSE 1 END) [Doctor] 
FROM Person p 
    LEFT OUTER JOIN Job j ON j.IdJob = p.IdJob AND j.JobName = 'IT' 
    LEFT OUTER JOIN Job j1 ON j1.IdJob = p.IdJob AND j1.JobName = 'Teacher' 
    LEFT OUTER JOIN Job j2 ON j2.IdJob = p.IdJob AND j2.JobName = 'Doctor' 
GROUP BY p.PersonName 

Auf jeden Fall gibt es keine einfache Art und Weise klar PIVOT Tisch zu machen, ohne alle Spaltennamen aufzuzählen.