我有一个包含三列的表:row,col,value。这是稀疏矩阵,具有以下值:
Row-1 : 0, 1, 10
Row-2 : 0, 3, 5
问题是,如何使用select语句循环以插入缺少值为0的行和列?
答案 0 :(得分: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至少有一个值。