Eu tenho uma tabela que armazena os dados do sensor (no SQLite) e se parece com isso;
TABLE Timestream:
idTimestream PK autoincrementing integer,
time int not null,
value float not null,
idSensor integer not null FK
Alguns, mas não todos os sensores, têm tempos correspondentes, mas considerarei apenas aqueles que têm. O que eu quero fazer é reorganizar a tabela no seguinte formato, com base em um conjunto de sensores listados na consulta, não no conjunto completo da tabela:
Time Sensor1 Sensor2 etc.
Eu estava pensando em criar uma tabela temporária e, em seguida, inserir o tempo e a primeira coluna, depois fazer uma junção no tempo para as consultas subsequentes e, finalmente, selecionar o lote inteiro. Isso não parece muito eficiente e eu queria saber se havia uma maneira melhor?
Parece-me que você está tentando 'girar' os dados, o que pode ser feito com várias instruções de caso:
dados de teste:
consulta:
dbfiddle aqui
Tente criar uma exibição . Isso permitirá que você extraia os dados desejados, na ordem desejada, sem precisar fazer uma junção com uma tabela temporária. Uma coisa a observar é que não acredito que o sqlite permitirá que você grave em uma exibição; portanto, se quiser fazer mais do que apenas examinar os dados, talvez seja necessário usar a exibição para criar uma tabela temporária.