/* ATIVA uvicorn main:app --reload --port 8000*/

CREATE VIEW `springboot-demo-484902.dataset_lucas.pedidos_enriquecidas` AS
SELECT
  /* ============================
     DADOS DO PEDIDO
     ============================ */
  p.cod_pedido,
  p.id_cliente,
  p.single_id,
  p.sku,
  p.valor_item_pedido,
  p.valor_item_pedido_frete,
  p.qtd_itens,
  p.canal_venda,
  p.bandeira,
  p.data_pedido,
  p.cod_tip_frete,
  p.descricao_tipo_frete,
  p.data_atualizacao,
  p.valor_frete,
  p.flag_retira,
  p.data_entrega,
  p.flag_marketplace,
  p.flag_lista_casamento,
  p.id_lista_casamento,
  p._source_file AS pedido_source_file,
  p._loaded_at AS pedido_loaded_at,

  /* ============================
     DADOS DO PRODUTO
     ============================ */
  pr.nome_sku,
  pr.nome_agrupamento_diretoria_setor,
  pr.nome_setor_gerencial,
  pr.nome_classe_gerencial,
  pr.nome_especie_gerencial,
  pr.nome_categoria_gerencial,
  pr.nome_categoria_pai_gerencial,
  pr.nome_departamento_pai_gerencial,
  pr.nome_setor_origem,
  pr.nome_classe_origem,
  pr.nome_especie_origem,
  pr.nome_sub_especie,
  pr.nome_categoria_origem,
  pr.nome_categoria_pai_origem,
  pr.nome_departamento_pai_origem,
  pr.nome_tipo_sku,
  pr.nome_marca,
  pr.nome_diretoria_setor_alternativa,
  pr.nome_setor_alternativo,
  pr.url_produto,
  pr._source_file AS produto_source_file,
  pr._loaded_at AS produto_loaded_at,

  /* ============================
     DADOS DO CLIENTE
     ============================ */
  c.singleid,
  c.singleid_grupo,
  c.nome_completo,
  c.nome_primeiro,
  c.email_cb,
  c.telefone_cb,
  c.cpfcnpj,
  c.genero,
  c.data_nascimento,
  c.idade,

  /* Endereço */
  c.endereco_cep,
  c.endereco_estado,
  c.endereco_municipio,

  /* Opt-ins */
  c.optin_email_cb,
  c.optin_whatsapp_cb,
  c.optin_sms_cb,
  c.optin_push_cb,
  c.optin_apenas_whatsapp_cb,

  /* Estratégico */
  c.status_estrategico,
  c.status_estrategico_b2b,
  c.status_estrategico_b2c,
  c.status_estrategico_mktp,

  /* CDC e perfil */
  c.cdc_faixa_de_produto,
  c.cdc_valor_produto_maximo,
  c.locale,
  c.filial_proxima_do_cliente,

  /* Datas */
  c.datahora_cadastro,
  c.datahora_atualizacao_cadastro,

  /* Metadados */
  c._source_file AS cliente_source_file,
  c._loaded_at AS cliente_loaded_at

FROM `springboot-demo-484902.dataset_lucas.pedidos` p
LEFT JOIN `springboot-demo-484902.dataset_lucas.produtos` pr
  ON p.sku = pr.sku
LEFT JOIN `springboot-demo-484902.dataset_lucas.clientes` c
  ON p.single_id = c.singleid;
