在表中插入行
问题描述:
我有一个包含三列的表:row,col,value。这是稀疏矩阵具有以下值:在表中插入行
Row-1 : 0, 1, 10
Row-2 : 0, 3, 5
的问题是,我怎么能循环使用select语句来插入一个值0缺少的行和列?
答
如果你有所有列和所有行的列表,你可以这样做:
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
你使用了什么[标签:rdbms]? – Mureinik
sqllite3做一些任务。 – Student