Заявка с 2 join-a

djman

Registered
Здравейте!
Имам следната заявка:

[sql]SELECT s.student_id, s.fname, s.lname, i.title AS `item`, v.`value` AS `ocenka` FROM students AS s JOIN `values` AS v ON s.student_id = v.student JOIN items AS i ON v.item = i.item_id WHERE s.student_id = 12 ORDER BY `item` ASC, `ocenka` ASC[/sql]

като резултата е този:
74464853115431376699.png


Как да направя в php така, че да бъде нещо от типа "предмет : оценка1, оценка2, оценка3" ? :idea:
 
Ако говориш за GROUP BY `item` - тогава става само по 1 оценка на предмет... :idea:

Така де, аз направих това което исках, ама с 3 заявки... а тука може с 1, но малко не й стига... Иначе целта ми е това (от скрийншота):

Биология: 4,5,6,6
Етика: 2,6
Руски: 4,4,4,5,5,6
Физкултура: 4
 
Така?[sql]select
`s`.`student_id`,
`s`.`fname`,
`s`.`lname`,
`i`.`title` as `item`,
group_concat( `v`.`value` ) as `ocenka`
from
`students` as `s`
join `values` as `v` on
`s`.`student_id` = `v`.`student`
join `items` as `i` on
`i`.`item_id` = `v`.`item`
where
`s`.`student_id` = 12
group by
`v`.`item`
order by
`item`, `ocenka`
;[/sql]не съм сигурен дали преписвам правилно остатъка от заявката, но ако съм направил грешка - това би трябвало да работи добре:[sql]select
`i`.`title` as `item`,
group_concat( `v`.`value` ) as `ocenka`
from
`values` as `v`
join
`items` as `i`
on
`i`.`item_id` = `v`.`item`
group by
`v`.`item`
;[/sql]
 
Първия (по-дългия) работи точно както трябва... sql езика явно наистина е богат. Благодаря много!
 

Back
Горе