WITH  ssci  AS
    (SELECT  ss_customer_sk  customer_sk  ,
                    ss_item_sk  item_sk
      FROM  store_sales,
                date_dim
      WHERE  ss_sold_date_sk  =  d_date_sk
          AND  d_month_seq  BETWEEN  1200  AND  1200  +  11
      GROUP  BY  ss_customer_sk  ,
                        ss_item_sk),
          csci  as
    (  SELECT  cs_bill_customer_sk  customer_sk  ,cs_item_sk  item_sk
      FROM  catalog_sales,date_dim
      WHERE  cs_sold_date_sk  =  d_date_sk
          AND  d_month_seq  BETWEEN  1200  AND  1200  +  11
      GROUP  BY  cs_bill_customer_sk  ,cs_item_sk)
SELECT  sum(CASE
                              WHEN  ssci.customer_sk  IS  NOT  NULL
                                        AND  csci.customer_sk  IS  NULL  THEN  1
                              ELSE  0
                      END)  store_only  ,
              sum(CASE
                              WHEN  ssci.customer_sk  IS  NULL
                                        AND  csci.customer_sk  IS  NOT  NULL  THEN  1
                              ELSE  0
                      END)  catalog_only  ,
              sum(CASE
                              WHEN  ssci.customer_sk  IS  NOT  NULL
                                        AND  csci.customer_sk  IS  NOT  NULL  THEN  1
                              ELSE  0
                      END)  store_and_catalog
FROM  ssci
FULL  OUTER  JOIN  csci  ON  (ssci.customer_sk=csci.customer_sk
                                                  AND  ssci.item_sk  =  csci.item_sk)
LIMIT  100;