Сообщение Re: Развернуть строки в колонки от 15.01.2015 12:33
Изменено 15.01.2015 12:38 night beast
Здравствуйте, flаt, Вы писали:
F>Что-то я не соображу, как это сделать в SQL (sqlite).
F>Имеется таблица (точнее, csv) вида
F>
F>Как это сделать?
насколько знаю, транспонирования в sqlite нет.
name1 и name2 тебе известны?
если нет, то боюсь что придется строить запрос с нужными столбцами в приложении.
если известны и я правильно понял вопрос, то как-то так:
F>Что-то я не соображу, как это сделать в SQL (sqlite).
F>Имеется таблица (точнее, csv) вида
F>
F> ---------------------
F>| id name value time |
F> ---------------------
F>id1,name1,value1,time1
F>id1,name2,value2,time1
F>id1,name1,value1,time2
F>F>Как это сделать?
насколько знаю, транспонирования в sqlite нет.
name1 и name2 тебе известны?
если нет, то боюсь что придется строить запрос с нужными столбцами в приложении.
если известны и я правильно понял вопрос, то как-то так:
select *
from (
select * from table where name = 'name1'
) t1
full join (
select * from table where name = 'name2'
) t2 on t1.time = t2.timeRe: Развернуть строки в колонки
Здравствуйте, flаt, Вы писали:
F>Что-то я не соображу, как это сделать в SQL (sqlite).
F>Имеется таблица (точнее, csv) вида
F>
F>Как это сделать?
насколько знаю, транспонирования в sqlite нет.
name1 и name2 тебе известны?
если нет, то боюсь что придется строить запрос с нужными столбцами в приложении.
если известны и я правильно понял вопрос, то как-то так:
ну и надо решить, что делать с дублями, если они возможны
F>Что-то я не соображу, как это сделать в SQL (sqlite).
F>Имеется таблица (точнее, csv) вида
F>
F> ---------------------
F>| id name value time |
F> ---------------------
F>id1,name1,value1,time1
F>id1,name2,value2,time1
F>id1,name1,value1,time2
F>F>Как это сделать?
насколько знаю, транспонирования в sqlite нет.
name1 и name2 тебе известны?
если нет, то боюсь что придется строить запрос с нужными столбцами в приложении.
если известны и я правильно понял вопрос, то как-то так:
select *
from (
select * from table where name = 'name1'
) t1
full join (
select * from table where name = 'name2'
) t2 on t1.time = t2.timeну и надо решить, что делать с дублями, если они возможны