質問: '2019-02-28' ``` とするとこうなりますよね・・・ 【抽出結果】 | 商品ID | 商品名 | 対象日 | 個数 | | --- | --- | --- | --- | | 001 | りんご | 2019-01-31 | 10 | | 001 | りんご | 2019-02-28 | 30 | | 002 | みかん | 2019-01-31 | 20 | | 002 | みかん | 2019-02-28 | 10 | | 003 | いちご | 2019-02-28 | 20 | それを↓こうしたいです。。 【003|いちご|2019-01-31 を追加】 | 商品ID | 商品名 | 対象日 | 個数 | | --- | --- | --- | --- | | 001 | りんご | 2019-01-31 | 10 | | 001 | りんご | 2019-02-28 | 30 | | 002 | みかん | 2019-01-31 | 20 | | 002 | みかん | 2019-02-28 | 10 | | 003 | いちご | 2019-01-31 | NULL | | 003 | いちご | 2019-02-28 | 20 | ### つまり 空行を追加 or 固定行を取得 になるのでしょうか? with句...?values...? valuesで、ない項目でテーブルを作る...?など色々調べたのですが、 結局一般的にどちらが使われるのでしょうか。。。 いつも足らずな質問となっていますが、 どなたか教えていただけると助かります。。。
回答: 色々やりかたはありますが、unnestを使用すると ``` select t1.*, t2.個数 from ( SELECT 商品ID, 商品名 , unnest('{2019-01-31,2019-02-28}'::date[]) as 対象日 FROM 商品テーブル group by 商品ID, 商品名 ) t1 left join 商品テーブル t2 on t1.商品ID=t2.商品ID and t1.対象日=t2.対象日 ```