SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 26.03.2011 11:56:53

Ra88
Участник
Зарегистрирован: 26.03.2011
Сообщений: 2

Перекрёстный запрос

Есть одна таблица без ключевых полей (любые поля могут повторяться):
student     data          ocenka
Ivanov     12/12/12        5
Cidorov    12/12/12        4
Ivanov     10/12/12        3
Cidorov    10/12/12        2

Хочу сделать перекрёстный запрос, в результате которого получается:
student     10/12/12     12/12/12
Ivanov            3               5
Cidorov           2               4

Т.е. заголовками столбцов становится data, студенты группируются и по каждой дате оценка.

Не могу разобраться как сделать это в MySQL, в access такая вещь делается довольно просто и выглядит так:
TRANSFORM SUM (Ocenka.ocenka) AS [ocenka]
SELECT Ocenka.student
FROM Ocenka
GROUP BY Ocenka.student
PIVOT Ocenka.data;

Неактивен

 

#2 26.03.2011 13:32:16

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Перекрёстный запрос

Если вкратце — ничего не получится: MySQL — не Access, у них разные пред-
назначения. Можно строить костыли, но ни к чему хорошему они не приведут:

SELECT student, SUM(IF(data='10/12/12',ocenka,0)) AS '10/12/12', ...
FROM Ocenka
GROUP BY student.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson