Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Объединенние нескольких столбцов в один ?
 
 автор: corsarr   (01.06.2007 в 12:24)   письмо автору
 
 

Привет Всем! Возник вопрос по объединению нескольких столбцов данных(цифр) в другой столбец другой таблицы, причем так чтоб данные расположились друг под другом! Точнее есть данные на каждый месяц и они расположены помесячно в каждом столбце "месяц", а нужно собрать в столбец "год" другой таблицы! вроде выглядит всё просто но прописать все не удаётся, тем более ,что операцию нужно проводить не однократно, с многими таблицами(данных очень много) и я сам не профи(пока) !

   
 
 автор: Unkind   (01.06.2007 в 12:31)   письмо автору
 
   для: corsarr   (01.06.2007 в 12:24)
 

Какая неудобная структура...

   
 
 автор: corsarr   (01.06.2007 в 13:20)   письмо автору
 
   для: Unkind   (01.06.2007 в 12:31)
 

Да :( ! дело в том, что до меня данные собирались вручную в Excel, а щас вот я решил перевести всё это дело в БД с всеми вытекающими ! Приходится одновременно делать и учиться.

   
 
 автор: Trianon   (02.06.2007 в 13:31)   письмо автору
 
   для: corsarr   (01.06.2007 в 13:20)
 

Лучше вероятно будет преобразовать структуру при импорте.....

   
 
 автор: corsarr   (05.06.2007 в 11:15)   письмо автору
 
   для: Trianon   (02.06.2007 в 13:31)
 

А каким образом можно транспонировать таблицу в MySQL? Дело в том что строк исходных данных в Excel слишком много для того чтоб там произвети транспонирование, а в MySQL (насколько я знаю) ограничения на колличество столбцов нет (или если есть то лимит очень большой. Возможно я ошибаюсь) так вот перевести таблицы из Excel в MySQL и там уже делать с ними что необходимо, используя возможности СУБД. Вопрос только в том : каким образом произвести это самое транспонирование?

   
 
 автор: Trianon   (05.06.2007 в 11:39)   письмо автору
 
   для: corsarr   (05.06.2007 в 11:15)
 

В MySQL (вообще в реляционных БД) данные в нескольких столбцах не хранят. Их хранят в полях. Однотипные данные - в одном столбце.
И дело тут не в лимите, а в принципах работы с базой. Пытаясь хранить данные растянутыми в строку, вы замучаетесь с ними работать.

Если, допустим, в excel у Вас таблица

 |A B C D
-+-------
1|А     Б
2|    В  
3|  Г    
4|Д     Е

то соответствующая sql-таблица будет выглядеть как-то так

id Row Col Letter
-----------------
 1  1   A   А
 2  1   D   Б
 3  2   C   В
 4  3   B   Г
 5  4   A   Д
 6  4   D   Е

Соответственно, само понятие транспонирования теряет смысл.

   
 
 автор: corsarr   (05.06.2007 в 12:58)   письмо автору
 
   для: Trianon   (05.06.2007 в 11:39)
 

Ясно! Спасибо за разъянение! Но вот вопрос: данные в Excel записаны построчно на каждый месяц и нужно перевести в СУБД но уже хранить так , как Вы уже сказали, на годы!

DD MM YY  Max_Temp  MinTemp  Average
-------------------------------------------------------
01  01  1930   -10   -20    -15
02  01  1930   -11   -21    -16
03  01  1930   -10   -20    -15
.... ... ....... .....  .....   .....
 


А щас они ввиде:

               DD | 01    02     03    04     05  ...     
-----------------+-------------------------------
01 1930 Max_temp | -10  -11   -10   -12     -12  ... 
02 1930 Min_temp | -20  -21   -20   -22     -23  ...
03 1930 Average | -15  -16   -15   -16.5  -17 ...
..  .....  .......  | ...  ...   ...   ...   ...


каким образом можно призвести такой "переворот" ?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования