2017-12-02 8 views
0

私は3つの列を持つ表を持っています:行、列、値。テーブルに行を挿入する

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

の質問は、どのような値0で不足している行や列を挿入するselect文を使用してIループ:これは、次の値を持つスパース行列のですか?

+1

[tag: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は、少なくとも1つの値を持っていることを前提としています。

+0

ありがとうございました。小さなタイプミスがあり、最後の条件はs.col = c.colです。 – Student

関連する問題