Database: customers_campaigns_ecommerce

Question: How many premises are there?
SQL: SELECT count(*) FROM premises

Question: What are all the distinct premise types?
SQL: SELECT DISTINCT premises_type FROM premises

Question: Find the types and details for all premises and order by the premise type.
SQL: SELECT premises_type ,  premise_details FROM premises ORDER BY premises_type

Question: Show each premise type and the number of premises in that type.
SQL: SELECT premises_type ,  count(*) FROM premises GROUP BY premises_type

Question: Show all distinct product categories along with the number of mailshots in each category.
SQL: SELECT product_category ,  count(*) FROM mailshot_campaigns GROUP BY product_category

Question: Show the name and phone of the customer without any mailshot.
SQL: SELECT customer_name ,  customer_phone FROM customers WHERE customer_id NOT IN (SELECT customer_id FROM mailshot_customers)

Question: Show the name and phone for customers with a mailshot with outcome code 'No Response'.
SQL: SELECT T1.customer_name ,  T1.customer_phone FROM customers AS T1 JOIN mailshot_customers AS T2 ON T1.customer_id  =  T2.customer_id WHERE T2.outcome_code  =  'No Response'

Question: Show the outcome code of mailshots along with the number of mailshots in each outcome code.
SQL: SELECT outcome_code ,  count(*) FROM mailshot_customers GROUP BY outcome_code

Question: Show the names of customers who have at least 2 mailshots with outcome code 'Order'.
SQL: SELECT T2.customer_name FROM mailshot_customers AS T1 JOIN customers AS T2 ON T1.customer_id  =  T2.customer_id WHERE outcome_code  =  'Order' GROUP BY T1.customer_id HAVING count(*)  >=  2

Question: Show the names of customers who have the most mailshots.
SQL: SELECT T2.customer_name FROM mailshot_customers AS T1 JOIN customers AS T2 ON T1.customer_id  =  T2.customer_id GROUP BY T1.customer_id ORDER BY count(*) DESC LIMIT 1

Question: What are the name and payment method of customers who have both mailshots in 'Order' outcome and mailshots in 'No Response' outcome.
SQL: SELECT T2.customer_name ,  T2.payment_method FROM mailshot_customers AS T1 JOIN customers AS T2 ON T1.customer_id  =  T2.customer_id WHERE T1.outcome_code  =  'Order' INTERSECT SELECT T2.customer_name ,  T2.payment_method FROM mailshot_customers AS T1 JOIN customers AS T2 ON T1.customer_id  =  T2.customer_id WHERE T1.outcome_code  =  'No Response'

Question: Show the premise type and address type code for all customer addresses.
SQL: SELECT T2.premises_type ,  T1.address_type_code FROM customer_addresses AS T1 JOIN premises AS T2 ON T1.premise_id  =  T2.premise_id

Question: What are the distinct address type codes for all customer addresses?
SQL: SELECT DISTINCT address_type_code FROM customer_addresses

Question: Show the shipping charge and customer id for customer orders with order status Cancelled or Paid.
SQL: SELECT order_shipping_charges ,  customer_id FROM customer_orders WHERE order_status_code  =  'Cancelled' OR order_status_code  =  'Paid'