MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    Consulta com LEFT JOIN de DateTime = Date

    avatar
    Marvin
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 06/07/2021

    Consulta com LEFT JOIN de DateTime = Date Empty Consulta com LEFT JOIN de DateTime = Date

    Mensagem  Marvin 22/4/2022, 15:03

    Bom dia meus caros,

    Estou enfrentando um problema em que ao gerar a consulta com LEFT JOIN entre dois campos de datas (DateTime com Date), os resultados obviamente não batem. Não consigo encontrar uma solução, pois o que acho na internet é a transformação do campo DateTime para Date e depois comparar, porem, só é possivel fazer o Cast após um WHERE, mas no meu caso precisa ser após o próprio LEFT JOIN.

    Segue o exemplo:
    Código:
    SELECT produtividade.Data, Sum(programacao.Qtde) AS SomaDeQtde, produtividade.Meta_estoque, produtividade.Nº_func_estoque, produtividade.[Fator estoque],
    IIf([Meta_estoque]=0,0,[SomaDeQtde]-[Meta_estoque])+[Fator estoque] AS Saldo, [SomaDeQtde]/[Meta_estoque] AS [% atingida], IIf([Nº_func_estoque]=0,0,[SomaDeQtde]/[Nº_func_estoque]) AS [Média/func]
    FROM programacao LEFT JOIN produtividade ON programacao.Hora_estoque = produtividade.Data
    WHERE (((programacao.Estoque)="CONCLUÍDO" Or (programacao.Estoque)="FALTA CHAPARIA") AND ((programacao.Sacad)<>"TEC001"))
    GROUP BY produtividade.Data, produtividade.Meta_estoque, produtividade.Nº_func_estoque, produtividade.[Fator estoque]
    HAVING (((produtividade.Meta_estoque) Is Not Null))
    ORDER BY produtividade.Data DESC;

    O problema está nesta linha:
    FROM programacao LEFT JOIN produtividade ON programacao.Hora_estoque = produtividade.Data

    Fico grato por qualquer ajuda!
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3190
    Registrado : 13/12/2016

    Consulta com LEFT JOIN de DateTime = Date Empty Re: Consulta com LEFT JOIN de DateTime = Date

    Mensagem  Alexandre Fim 22/4/2022, 15:40

    Marvin,

    Compartilhe seu bd, apenas os objetos envolvidos na questão, para análise e solução do problema.

    Att,

    Alexandre Fim


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    Consulta com LEFT JOIN de DateTime = Date Setinf11
    Sistemas e Tecnologia Ltda
    avatar
    Marvin
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 06/07/2021

    Consulta com LEFT JOIN de DateTime = Date Empty Re: Consulta com LEFT JOIN de DateTime = Date

    Mensagem  Marvin 22/4/2022, 17:49

    Olá, segue o banco em MySQL:

    Código:
    CREATE TABLE IF NOT EXISTS `produtividade` (
      `Id` int NOT NULL AUTO_INCREMENT,
      `Data` date DEFAULT NULL,
      `Meta_estoque` double DEFAULT '0',
      `Nº_func_estoque` double DEFAULT '0',
      `Fator estoque` double DEFAULT '0',
      `Meta_corte` double DEFAULT '0',
      `Nº_func_corte` double DEFAULT '0',
      `Fator corte` double DEFAULT '0',
      `Meta_estofaria` double DEFAULT '0',
      `Nº_func_estofaria` double DEFAULT '0',
      `Fator estofaria` double DEFAULT '0',
      `Nº_func_embalagem` double DEFAULT '0',
      `Fator embalagem` double DEFAULT '0',
      `Meta` double DEFAULT '0',
      `meta_costura` double DEFAULT '0',
      `n_func_costura` double DEFAULT '0',
      `fator_costura` double DEFAULT '0',
      PRIMARY KEY (`Id`),
      UNIQUE KEY `Data` (`Data`)
    );

    CREATE TABLE IF NOT EXISTS `programacao` (
      `Código` int NOT NULL AUTO_INCREMENT,
      `Concluído` tinyint(1) DEFAULT '0',
      `Imprimir` tinyint(1) DEFAULT '0',
      `cpImpresso` tinyint(1) DEFAULT '0',
      `Urgente` tinyint(1) DEFAULT '0',
      `Cancelado` tinyint(1) DEFAULT '0',
      `Data` date DEFAULT NULL,
      `Pedido` varchar(100) DEFAULT NULL,
      `Representante` varchar(255) DEFAULT NULL,
      `Cliente` varchar(255) DEFAULT NULL,
      `Ordem` varchar(100) DEFAULT NULL,
      `Qtde` int DEFAULT '0',
      `Descrição` varchar(255) DEFAULT NULL,
      `Observação administrativo` varchar(255) DEFAULT NULL,
      `Tingimento` varchar(100) DEFAULT NULL,
      `Tecido` varchar(100) DEFAULT NULL,
      `Transportadora` varchar(255) DEFAULT NULL,
      `Lote` varchar(255) DEFAULT NULL,
      `Estoque` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT 'PENDENTE',
      `Obs estoque` varchar(255) DEFAULT NULL,
      `Hora_estoque` datetime DEFAULT NULL,
      `Corte tecido` varchar(50) DEFAULT '-',
      `Obs corte tecido` varchar(255) DEFAULT NULL,
      `Hora_corte` date DEFAULT NULL,
      `Estofaria` varchar(50) DEFAULT '-',
      `Obs estofaria` varchar(255) DEFAULT NULL,
      `Hora_estofaria` date DEFAULT NULL,
      `hora_costura` date DEFAULT NULL,
      `Embalagem` varchar(50) DEFAULT '-',
      `Obs embalagem` varchar(255) DEFAULT NULL,
      `Hora_embalagem` date DEFAULT NULL,
      `Corte_Pé` varchar(50) DEFAULT '-',
      `Corte_Tampo` varchar(50) DEFAULT '-',
      `Obs corte` varchar(255) DEFAULT NULL,
      `Horacorte` date DEFAULT NULL,
      `Marcenaria_Pé` varchar(50) DEFAULT '-',
      `Marcenaria_Tampo` varchar(50) DEFAULT '-',
      `Obs marcenaria` varchar(255) DEFAULT NULL,
      `Hora marcenaria` date DEFAULT NULL,
      `Pintura_Pé` varchar(50) DEFAULT '-',
      `Pintura_Tampo` varchar(50) DEFAULT '-',
      `Obs pintura` varchar(255) DEFAULT NULL,
      `Hora pintura` date DEFAULT NULL,
      `Expedição_Pé` varchar(50) DEFAULT '-',
      `Expedição_Tampo` varchar(50) DEFAULT '-',
      `Obs Expedição` varchar(255) DEFAULT NULL,
      `Hora expedição` date DEFAULT NULL,
      `Estagio_atual` varchar(100) DEFAULT NULL,
      `Estagio_filial` varchar(100) DEFAULT NULL,
      `Sacad` varchar(50) DEFAULT NULL,
      `Tipo` varchar(50) DEFAULT '-',
      `Unidade` varchar(50) DEFAULT '-',
      `configuracao` varchar(10) DEFAULT 'N',
      `flag_faturamento` varchar(15) DEFAULT 'nao',
      `status` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT 'PRODUÇÃO',
      `flag_completo` tinyint(1) DEFAULT '0',
      `flag_parcial` varchar(10) DEFAULT 'nao',
      `parcial_estrutura` smallint DEFAULT '0',
      `parcial_assento` smallint DEFAULT '0',
      `parcial_encosto` smallint DEFAULT '0',
      `prioridade` tinyint(1) DEFAULT '0',
      PRIMARY KEY (`Código`)
    );

    Preciso comparar as duas tabelas pelas datas (programacao.Hora_estoque[DATETIME] com produtividade.Data[DATE])

    O que faço é somar todos os produtos da programacao que estao na data = data da produtividade. Com isso eu consigo ver quanto foi produzido por dia.
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3190
    Registrado : 13/12/2016

    Consulta com LEFT JOIN de DateTime = Date Empty Re: Consulta com LEFT JOIN de DateTime = Date

    Mensagem  Alexandre Fim 22/4/2022, 19:35

    Marvin,

    Já criei as tabelas conforme scripts que vc mandou, porem, preciso de uma massa de dados para testar.

    Faça conforme o modelo abaixo:

    Consulta com LEFT JOIN de DateTime = Date Export12

    Att,


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    Consulta com LEFT JOIN de DateTime = Date Setinf11
    Sistemas e Tecnologia Ltda
    avatar
    Marvin
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 06/07/2021

    Consulta com LEFT JOIN de DateTime = Date Empty Re: Consulta com LEFT JOIN de DateTime = Date

    Mensagem  Marvin 22/4/2022, 20:39

    Segue
    Anexos
    Consulta com LEFT JOIN de DateTime = Date Attachmenth.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (8 Kb) Baixado 9 vez(es)

    Conteúdo patrocinado


    Consulta com LEFT JOIN de DateTime = Date Empty Re: Consulta com LEFT JOIN de DateTime = Date

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/3/2024, 17:22