Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2008.08.24;
Скачать: [xml.tar.bz2];

Вниз

Перевернуть таблицу   Найти похожие ветки 

 
pirks ©   (2008-02-29 17:22) [0]

Всем привет.
Вот такая у меня проблема:

Есть таблица в MySQL

name            | mark |  date
-------------|-------------
Александр    | 2      |  10
Александр    | 4      |  11
Александр    | 1      |  12
Александр    | 3      |  13
Дима            | 3      |  11
Дима            | 3      |  12
Дима            | 4      |  13


из неё нужно зделать

name            | 10|11|12|13
-------------|----------------
Александр    | 2 | 4 | 1 | 3 |
Дима            |    |3 | 3 | 4 |


Это возможно используя один лиш SQL ?
Если кто знает приведите примерный вид запроса.
Заранее всем спасибо.


 
Anatoly Podgoretsky ©   (2008-02-29 23:42) [1]

> pirks  (29.02.2008 17:22:00)  [0]

Это не переворот, а транспонирование в куб.Eвместимости с которым и оставлена эта функция. если не заниматься батонокидательством. Вариант с Control гарантирует результат, вариант с Components не всегда.


 
pirks ©   (2008-02-29 23:51) [2]

>>куб.Eвместимости
Не понял я что ты имеешь в веду


 
pirks ©   (2008-02-29 23:54) [3]

Да и просто транспонирование не даст того что нужно.
а как понимать в ... куб ?


 
Виталий Панасенко(дом)   (2008-03-01 10:17) [4]

Для просмотра(и редактирования) - NXDBGRID...


 
pirks ©   (2008-03-01 11:07) [5]

не нен тдёт.
Я же нарисовал таблицу которая должна получиться.
Мне не совсем поворот нужен.
Нужно получи1ть из 1 таблици вторую.


 
pirks ©   (2008-03-01 11:13) [6]

Да и ещё желательно чтоб это делала субд
через SQL. Не хочу грузить клиентские приложения.


 
Виталий Панасенко(дом)   (2008-03-01 12:12) [7]


> pirks ©   (01.03.08 11:13) [6]
>
> Да и ещё желательно чтоб это делала субд
> через SQL. Не хочу грузить клиентские приложения.

И еще желательно, что бы она (СУБД) это умела делать...Так, кажись, только MS Access умеет делать(TRANSFORM)...а для чего все эти телодвижения ?


 
pirks ©   (2008-03-01 12:27) [8]

Надо.
У меня в бд хранятся результаты тестирования студентов.
Вот хочу представить это всё в привычной нормальной форме как в журнале.

неужели мускл не держит запросы где мона динамически изменять содержимого раздела SELECT ?

Может у кого есть инфа по этому поводу ?


 
b z   (2008-03-01 12:31) [9]

искать по pivot в mysql
ну вот как-то так:
http://en.wikibooks.org/wiki/MySQL/Pivot_table


 
makz ©   (2008-03-01 12:39) [10]

Наверое это и будет батонокидательство:
select name,
         ...
         (select mark from TAB where DATE=10),
         (select mark from TAB where DATE=11),
         (select mark from TAB where DATE=12),
         ...
from TAB


 
makz ©   (2008-03-01 12:41) [11]

т.е. конечно сложнее с вложенным будет
(select mark from TAB where DATE=12 and name = ..)


 
pirks ©   (2008-03-01 12:50) [12]

Принцип я понял, как нужно писать.
Я думаю смогу написать теперь то что требовалоь.
Всем огромное спасибо что обратили внимание на мою проблему)))))))
Всем удачи и пока )))



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2008.08.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.045 c
15-1215534864
Dreamse
2008-07-08 20:34
2008.08.24
Компиляция драйвера на Delphi


1-1197018990
Rav
2007-12-07 12:16
2008.08.24
Как преобразовать TField.DisplayWidth в ListView.Column[x].Width?


4-1195028705
DelphiN!
2007-11-14 11:25
2008.08.24
Access denied при выполнении OpenProcess


2-1216717555
Vlad Oshin
2008-07-22 13:05
2008.08.24
то работает, то не работает. Не объясните почему?


2-1216278320
PPP
2008-07-17 11:05
2008.08.24
что такое {$A8,B-,C+,D+,E-,F-,G+,H+,I+,J-,K-,L+,M-,N+,O+,P+,Q-,R-





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский