2017-12-02 7 views
0

행, 열, 값의 세 열이있는 테이블이 있습니다.테이블에 행 삽입

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

질문은, 어떻게 값을 0으로없는 행과 열을 삽입하는 선택 문을 사용하여 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; 

이 버전은 각 행 안부 적어도 하나 개의 값을 가지고 있다고 가정합니다.

+0

고맙습니다. 작은 오타가 있습니다. 마지막 조건은 s.col = c.col입니다. – Student