Jump to content

Rodymb

Members
  • Content count

    10
  • Joined

  • Last visited

Community Reputation

0 Comum

About Rodymb

Contato

  1. Rodymb

    Usar mesmo campo para duas consultas diferentes

    Na verdade não tem nada que amarra a supervisora à operadora. A supervisora é responsável pelas transações que as operadoras não têm permissão. Um cancelamento de cupom por exemplo, ou a liberação de um cliente sem saldo. Na tabela de movimento, tem o campo com o código da operadora e outro campo com o código da supervisora. Esse campo da supervisora só alimentado, quando houve alguma operação que precisou da supervisora.
  2. Rodymb

    Usar mesmo campo para duas consultas diferentes

    Na estrutura do banco está assim: tab_funcionario tab_perfil tab_perfil_funcionario nessa tabela, indica que o funcionário com código 9898(Tania), ela é supervisora, mas também é operadora.
  3. Rodymb

    Usar mesmo campo para duas consultas diferentes

    São outras duas tabelas. Tem a tabela tab_perfil, que são cadastrados todos os perfis do sistema, operador, supervisor, gerente, etc. E tem outra tabela, tab_perfil_funcionario, essa tabela relaciona o código do operador com o código do perfil.
  4. Rodymb

    Usar mesmo campo para duas consultas diferentes

    Olá Motta! Tudo bom? Eu mudei o script mas ainda assim não resolveu, me trouxe o mesmo resultado. select c.m00ad as CUPOM, c.m00ac as PDV, c.m02ak as VALOR, p.descricao as FINALIZADORA, c.m02ah as OPERADOR, f_op.nome as NOME_OP, c.m02ao as SUPERVISOR, f.nome as NOME_SUP from zan_m02 c inner join tab_funcionario f on c.m02ao = f.cod_funcionario inner join tab_funcionario f_op on c.m02ao = f_op.cod_funcionario inner join tab_finalizadora p on c.m02ai = p.cod_finalizadora where c.m00af = to_date('09/03/20','dd/mm/yy') and c.m00za = 3 and c.m00ac = 9 and c.m00ad = 379678 group by c.m00ad,c.m00ac,c.m02ak,p.descricao,c.m02ah,c.m02ao,f.nome; O NOME_OP deveria seri Miran e o NOME_SUP é a Tania.
  5. Bom dia! Estou fazendo um select em uma tabela de cupom fiscal e preciso que me mostre o operador do caixa e o supervisor que liberou a venda, que no caso é convênio. A consulta que montei é a seguinte: select c.m00ad as CUPOM, c.m00ac as PDV, c.m02ak as VALOR, p.descricao as FINALIZADORA, c.m02ah as OPERADOR, f.nome as NOME_OP, c.m02ao as SUPERVISOR, f.nome as NOME_SUP from zan_m02 c inner join tab_funcionario f on c.m02ao = f.cod_funcionario inner join tab_finalizadora p on c.m02ai = p.cod_finalizadora where c.m00af = to_date('09/03/20','dd/mm/yy') and c.m00za = 3 and c.m00ac = 9 and c.m00ad = 379678 group by c.m00ad,c.m00ac,c.m02ak,p.descricao,c.m02ah,f.nome,c.m02ao; A consulta me retorna o seguinte resultado: Como podem ver, repetiu o mesmo nome (operador e supervisor), sendo que o código é diferente. Isso acontece por que na tabela de funcionário o campo NOME serve para operador e supervisor e o que diferencia se é supervisor ou operador temos mais duas outras tabelas. A estrutura é assim: tab_funcionario -> temos o campo cod_funcionario e nome (todos os funcionários cadastrados são armazenados nessa tabela) tab_perfil -> temos os campos cod_perfil e descricao (todos os perfis cadastrados são armazenados nessa tabela) tab_perfil_funcionario -> temos os campos cod_funcionario e cod_perfil (tabela que relaciona as tabelas tab_funcionario e tab_perfil) A única coisa que preciso é que apareça no NOME_OP o nome do operador e não o nome do supervisor igual está aparecendo.
  6. Bom dia! WCN, fiz o select conforme você orientou e ele somou o campo. Testei vários tipos de conversões e não tem dado certo, talvez tenha que mudar a estrutura das tabelas, aí nesse caso eu já não tenho acesso. De qualquer forma, obrigado por enquanto, vou tentar mais algumas opções, se não der certo vou ter que mudar o foco para outra forma.
  7. update zan_m00 set m00zc=(SELECT CONVERT(INT, CAST(convert(varchar(21),dataemissao,113) as DATETIME)) FROM tab_nota_header where dataemissao between '2018-08-01 00:00:00' and '2018-08-01 23:59:59' and numpdv=111 and codloja=1 and numnota=74841) where m00af='2018-08-01' and m00za=1 and m00ac=111 and m00ad=69614 Testei o select e ele retornou a mensagem: Mensagem 241, Nível 16, Estado 1, Linha 2 Falha ao converter data e/ou hora da cadeia de caracteres. Vou dar uma olhada nesses tipos de conversões e ver se consigo alguma coisa. Obrigado pela colaboração.
  8. Bom dia! Preciso fazer um update em um campo do tipo int de uma tabela para corrigir o horário e a informação que estou buscando está em um campo do tipo datetime de outra tabela. Fiz um update da seguinte forma: update zan_m00 set m00zc=(SELECT convert(varchar(11),dataemissao,114) FROM tab_nota_header where dataemissao between '2018-08-01 00:00:00' and '2018-08-01 23:59:59' and numpdv=111 and codloja=1 and numnota=74841) where m00af='2018-08-01' and m00za=1 and m00ac=111 and m00ad=69614 Esse update retornou a seguinte mensagem: Falha ao converter o varchar valor '11:56:57:00' para o tipo de dados int. No lugar onde está varchar experimentei usar int, entretanto, ele faz o update somando todo o conteúdo do campo, também usei o CAST e o problema é o mesmo. Se eu fizer somente o select, ele retorna pra mim somente a hora, que é o que preciso, mas aí tem outro problema, no campo tipo int a hora é tudo junto 115657 e nesse select ele retorna 11:56:57. Existe alguma forma de fazer esse update da forma que preciso?
  9. Olá, Estou com problema em uma tabela no banco de dados de um cliente. Existe uma tabela chamada xmlnfce onde armazena as informações da venda e também armazena o arquivo xml. Eu faço uma consulta simples, por exemplo: select * from xmlnfce where data=20180711; o mysql retorna os dados da tabela na data informada, porém, se eu fizer a mesma consulta com data diferente, ele retorna a mensagem ErrorNr.2013 Lost connection to MySQL server during query. Depois disso não consigo fazer qualquer consulta que seja nessa tabela, eu preciso reiniciar o serviço do mysql pra poder executar qualquer outra consulta e sempre dando o mesmo problema.
  10. Rodymb

    Retirar zero a esquerda

    Boa tarde! Sou novo no mundo dos bancos de dados. Preciso fazer um update em uma tabela retirando os zeros a esquerda. O banco armazena dados de venda e temos uma tabela M43 onde estão os itens da venda. Tivemos um problema e precisamos recuperar algumas vendas, e quando os itens subiram para a tabela M43, o código subiu com zeros a esquerda e não pode. Vou dar um exemplo: Correto: 7891000100103 | Leite Condensado | 3.89 Como está: 0007891000100103 | Leite Condensado | 3.89 Já tentei vários updates e outras funções e não deu certo. Alguém pode me ajudar? Pois uma venda pode conter mais de 200 itens e fazer update em linha por linha vou demorar muito pra fazer.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.