2016-05-18 3 views
5

Ich habe eine SQL-Tabelle. Die Tabelle zeigt studentID, Subject_Name und Marks. Ich hoffe, Sie können die Daten verstehen.php zwei Dimention Array

Jetzt muss ich es im Frontend anzeigen, indem ich studentID vertikal über die Y-Achse und subject_Name horizontal über die X-Achse anzeigen. Marken sollten als Tabellenkörper erscheinen.

Ich benutze PHP als serverseitige Sprache.

Hilfe.

+2

können Sie nur den Ausgang ziehen, wie Sie die Frage sinnvoll wollen und machen. Setzen Sie die Abfrage und die gewünschte Ausgabe. –

+0

Sind 'Marken' denormalisiert? Etwas wie 'A, A +, C' String? –

+0

können Sie uns zeigen, wie die aktuelle Tabelle aussieht? und wie willst du es aussehen? – Webeng

Antwort

1

glaube ich, eine einfach Pivot-Abfrage das Ergebnis geben Sie verändern wollen:

SELECT studentID, 
    SUM(CASE WHEN Subject_Name = 'CHEMISTRY' THEN Marks ELSE 0 END) AS `CHEMISTRY`, 
    SUM(CASE WHEN Subject_Name = 'BIOLOGY' THEN Marks ELSE 0 END) AS `BIOLOGY`, 
    SUM(CASE WHEN Subject_Name = 'ENGLISH' THEN Marks ELSE 0 END) AS `ENGLISH`, 
    SUM(CASE WHEN Subject_Name = 'MATH'  THEN Marks ELSE 0 END) AS `MATH` 
FROM students 
GROUP BY studentID 

Sie können ersetzen und addieren/subtrahieren die Probe Spalten I mit den Namen der aktuellen Kursthemen in der Tabelle gab.

den Link unten für eine funktionierende Demo Folgen:

SQLFiddle