SELECT  channel,
              col_name,
              d_year,
              d_qoy,
              i_category,
              COUNT(*)  sales_cnt,
              SUM(ext_sales_price)  sales_amt
FROM
    (  SELECT  'store'  AS  channel,
                      'ss_store_sk'  col_name,
                                                  d_year,
                                                  d_qoy,
                                                  i_category,
                                                  ss_ext_sales_price  ext_sales_price
      FROM  store_sales,
                item,
                date_dim
      WHERE  ss_store_sk  IS  NULL
          AND  ss_sold_date_sk=d_date_sk
          AND  ss_item_sk=i_item_sk
      UNION  ALL  SELECT  'web'  AS  channel,
                                        'ws_ship_customer_sk'  col_name,
                                                                                    d_year,
                                                                                    d_qoy,
                                                                                    i_category,
                                                                                    ws_ext_sales_price  ext_sales_price
      FROM  web_sales,
                item,
                date_dim
      WHERE  ws_ship_customer_sk  IS  NULL
          AND  ws_sold_date_sk=d_date_sk
          AND  ws_item_sk=i_item_sk
      UNION  ALL  SELECT  'catalog'  AS  channel,
                                        'cs_ship_addr_sk'  col_name,
                                                                            d_year,
                                                                            d_qoy,
                                                                            i_category,
                                                                            cs_ext_sales_price  ext_sales_price
      FROM  catalog_sales,
                item,
                date_dim
      WHERE  cs_ship_addr_sk  IS  NULL
          AND  cs_sold_date_sk=d_date_sk
          AND  cs_item_sk=i_item_sk)  foo
GROUP  BY  channel,
                  col_name,
                  d_year,
                  d_qoy,
                  i_category
ORDER  BY  channel  NULLS  FIRST,
                  col_name  NULLS  FIRST,
                  d_year  NULLS  FIRST,
                  d_qoy  NULLS  FIRST,
                  i_category  NULLS  FIRST
LIMIT  100;