2017-06-06 22 views
0

私は3つの行を持つために各問題を必要とするデータセットを持っています。可能な各ステータスごとに1以下は私が現在持っているものの例です。SQLクエリに不足している行を追加します

Issue Status Time 
------------------- 
1  SLM  30 
1  SNB  43 
1  EOB  22 
2  SLM  12 
2  EOB  87 

私はこのようなものが必要ですが、問題はステータスがなく、行が追加され、時間が0に設定されています。

Issue Status Time 
---------------------- 
    1  SLM  30 
    1  SNB  43 
    1  EOB  22 
    2  SLM  12 
    2  EOB  87 
    2  SNB  0 

どうすればいいですか?

+0

の場合3種類のステータス値を含むテーブルがありますか? –

答えて

5

ステータスとのクロスジョイントIDとそれにテーブルを結合する左。

select i.issue,s.status,coalesce(t.time,0) as time 
from (select distinct status from tbl) s --replace this with status table if you have one 
cross join (select distinct issue from tbl) i 
left join tbl t on t.issue=i.issue and t.status=s.status 
-1

このsqlコマンドを使用すると、簡単に別の行を追加できます。

INSERT INTOテーブル名(カラム1、カラム2、カラム3、...) VALUES(値1、値2、値3、...);

たとえばテーブル名が

関連する問題