powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Как пересобрать таблицу, совместив некоторые столбцы?
9 сообщений из 9, страница 1 из 1
Как пересобрать таблицу, совместив некоторые столбцы?
    #36443790
init01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем SQLite начал изучать недавно.
И вот первый завал:
Так как нету типа данных ДАТА, то в таблице дату разбил на три столбца ДЕНЬ, МЕСЯЦ, ГОД.
То есть таблица получалась примерно такая:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
PROJECT    DIR   DAY  MONTH   YEAR   SIZE
project1  data1  01    01     2010    167
project1  data2  01    01     2010    23
project2  data1  01    01     2010    45
project2  data2  01    01     2010    97
project1  data1  02    01     2010    169
project1  data2  02    01     2010    24
project2  data1  02    01     2010    56
project2  data2  02    01     2010    97

Но вот прошло время и теперь я осознал, что для того чтобы легче было делать выборку по датам, необходимо сделать вот такую таблицу:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
PROJECT    DIR    DATA       SIZE
project1  data1  20100101    167
project1  data2  20100101    23
project2  data1  20100101    45
project2  data2  20100101    97
project1  data1  20100102    169
project1  data2  20100102    24
project2  data1  20100102    56
project2  data2  20100102    97

Новая таблица уже заполняется постепенно скриптом.
Но вот как старые данные перекинуть в новую таблицу?
Не соображу чего-то никак.



___________________________________________________________________________
Учиться на ошибках, особенно чужих, значит сделать свою жизнь скучной.
...
Рейтинг: 0 / 0
Как пересобрать таблицу, совместив некоторые столбцы?
    #36443847
Im27th,

если поля DAY, MONTH, YEAR не содержат Null, то можно так
Код: plaintext
1.
insert into NewTable(PROJECT, DIR, DATA, SIZE)
select PROJECT, DIR, DAY || MONTH ||  YEAR, SIZE from OldTable;

рекомендую почитать
раздел 1.2 Date and Time Datatype
...
Рейтинг: 0 / 0
Как пересобрать таблицу, совместив некоторые столбцы?
    #36443851
сорри, линк не прицепился:

http://www.sqlite.org/datatype3.html
...
Рейтинг: 0 / 0
Как пересобрать таблицу, совместив некоторые столбцы?
    #36445086
init01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гость_в_Горле
Спасибо!

Только вот хреново, что дата к примеру 3 января 2010 записывается в новую таблицу как 201013, а не как 20100103. Как бы туда вставить нолик ... хотя бы искуственно, типа:

Код: plaintext
1.
2.
3.
4.
insert into NewTable(PROJECT, DIR, DATA, SIZE)
select PROJECT, DIR, YEAR || '0' || MONTH || '0' || DAY, SIZE from OldTable where DAY <  10 ;

insert into NewTable(PROJECT, DIR, DATA, SIZE)
select PROJECT, DIR, YEAR || '0' || MONTH || DAY, SIZE from OldTable where DAY >  10 ;

Не могу найти какой правильно синтаксис будет.




__________________________________________________________________________
Учиться на ошибках, особенно чужих, значит сделать свою жизнь скучной.
...
Рейтинг: 0 / 0
Как пересобрать таблицу, совместив некоторые столбцы?
    #36445392
init01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё, именно так всё и получилось.



__________________________________________________________________________
Учиться на ошибках, особенно чужих, значит сделать свою жизнь скучной.
...
Рейтинг: 0 / 0
Как пересобрать таблицу, совместив некоторые столбцы?
    #36445455
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
insert into NewTable(PROJECT, DIR, DATA, SIZE)
select PROJECT, DIR, YEAR || substr('0'||MONTH,- 1 ,- 2 ) || substr('0'||DAY,- 1 ,- 2 ), SIZE from OldTable where DAY >  10 ;
...
Рейтинг: 0 / 0
Как пересобрать таблицу, совместив некоторые столбцы?
    #36450862
shurokan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вобщето я использую в Sqlite тип Date и даже не знал, что такого поля в нем нету:) Или я чегото не понял?
...
Рейтинг: 0 / 0
Как пересобрать таблицу, совместив некоторые столбцы?
    #36450982
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shurokanИли я чегото не понял?
Я не понял, чего ты не понял :)
...
Рейтинг: 0 / 0
Как пересобрать таблицу, совместив некоторые столбцы?
    #36452749
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shurokanВобщето я использую в Sqlite тип Date и даже не знал, что такого поля в нем нету:) Или я чегото не понял?В SQLite нету типа date. Зато есть несколько встроенных функций по работе с датами в текстовом представлении.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Как пересобрать таблицу, совместив некоторые столбцы?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]