2016-05-18 15 views
5

Mam tabela sql. tabela pokazuje studentID, Subject_Name i Marks. Mam nadzieję, że rozumiesz dane.php dwie tablice wymiarów

Teraz muszę pokazać go w przednim końcu, wyświetlając studentID pionowo na osi Y i subject_Name poziomo na osi X. Znaki powinny pojawiać się jako treść tabeli.

Używam php jako języka po stronie serwera.

pomoc.

+2

można po prostu wyciągnąć wyjście jak chcesz i sprawiają, że kwestia znaczenia. Umieść dane wyjściowe zapytania i chęci. –

+0

Czy "denormalizowane" znaki? Coś jak ciąg "A, A +, C'? –

+0

czy możesz pokazać nam, jak wygląda aktualna tabela? i jak chcesz wyglądać? – Webeng

Odpowiedz

1

wierzę po prostu zapytanie pivot daje wynik ustawić chcesz:

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 

można zastąpić i dodawać/odejmować kolumny przykładowe dałem z nazwiskami rzeczywistych przedmiotów kursu w tabeli.

Wykonaj poniższy link do demo pracy:

SQLFiddle