SQLite的初学者问题。
我有一张表:
CREATE TABLE raw (ID int, t int, VarID Int, val float)
INSERT INTO raw VALUES (1, 77 , 1,177)
INSERT INTO raw VALUES (2, 77 , 2,277)
INSERT INTO raw VALUES (3, 12 , 1,112)
INSERT INTO raw VALUES (4, 12 , 2,212)
INSERT INTO raw VALUES (5, 55 , 2,255)
此处t
是时间戳,VarID
表示后续val
所属的变量。
现在我想得到一个视图,其中所有变量都在不同的列中,例如:
t var1 var2
77 177 277
12 112 212
55 None 255
仅供参考:
这是与Reorganising Data in SQLLIte)相反的问题
我试过的一些代码没有得到想要的结果
CREATE VIEW view1
AS SELECT
t,
(SELECT val FROM raw WHERE VarID=1) as var1,
(SELECT val FROM raw WHERE VarID=2) as var2
FROM raw as r;
答案 0 :(得分:0)
有了Avi Gurfinkel(分组)的暗示,我提出了以下解决方案。这是最好的方式还是有更优雅的方法来做到这一点?
CREATE VIEW view1
AS SELECT
t,
(SELECT val FROM raw WHERE (varID=1 and r.t=raw.t)) as var1,
(SELECT val FROM raw WHERE (varID=2 and r.t=raw.t)) as var2
FROM raw as r
GROUP BY t;