2017-12-02 334 views
0

我有一个包含三列的表:row,col,value。这是稀疏矩阵具有以下值:在表中插入行

Row-1 : 0, 1, 10 
Row-2 : 0, 3, 5 

的问题是,我怎么能循环使用select语句来插入一个值0缺少的行和列?

+1

你使用了什么[标签:rdbms]? – Mureinik

+0

sqllite3做一些任务。 – Student

回答

1

如果你有所有列和所有行的列表,你可以这样做:

insert into sparse (row, col, value) 
    select r.row, c.col, 0 
    from (select distinct row from sparse) r cross join 
     (select distinct col from sparse) c left join 
     sparse s 
     on s.row = r.row and s.col = c.col 
    where s.row is null; 

此版本假定每一行和col至少有一个值。

+0

非常感谢。有一个小错字,最后一个条件是s.col = c.col。 – Student