Ir para conteúdo
Fórum Script Brasil

Dr. House

Membros
  • Total de itens

    139
  • Registro em

  • Última visita

Posts postados por Dr. House

  1. SELECT COALESCE(c.nome,'Total') as Categoria, 
        COALESCE(s.nome,'Total') as SubCategoria , 
        sum("valor") as Valores,
        coalesce(f.mes,'eu odeio nulo') as mes,
        (select coalesce(sum(valor),0) from fluxo fl where fl.mes = f.mes and fl.mes ilike 'janeiro') as janeiro,
        (select coalesce(sum(valor),0) from fluxo fl where fl.mes = f.mes and fl.mes ilike 'fevereiro') as fevereiro,
        (select coalesce(sum(valor),0) from fluxo fl where fl.mes = f.mes and fl.mes ilike 'marco') as marco,
        (select coalesce(sum(valor),0) from fluxo fl where fl.mes = f.mes and fl.mes ilike 'abril') as abril,
        (select coalesce(sum(valor),0) from fluxo fl where fl.mes = f.mes and fl.mes ilike 'maio') as maio,
        (select coalesce(sum(valor),0) from fluxo fl where fl.mes = f.mes and fl.mes ilike 'junho') as junho,
        (select coalesce(sum(valor),0) from fluxo fl where fl.mes = f.mes and fl.mes ilike 'julho') as julho,
        (select coalesce(sum(valor),0) from fluxo fl where fl.mes = f.mes and fl.mes ilike 'agosto') as agosto,
        (select coalesce(sum(valor),0) from fluxo fl where fl.mes = f.mes and fl.mes ilike 'setembro') as setembro,
        (select coalesce(sum(valor),0) from fluxo fl where fl.mes = f.mes and fl.mes ilike 'outubro') as outubro,
        (select coalesce(sum(valor),0) from fluxo fl where fl.mes = f.mes and fl.mes ilike 'novembro') as novembro,
        (select coalesce(sum(valor),0) from fluxo fl where fl.mes = f.mes and fl.mes ilike 'dezembro') as dezembro
    FROM public."fluxo" f inner join "categoria" c on c.id_cat = f.id_cat 
    inner join "subcategoria" s on s.id_sub = f.id_sub 
    group by rollup (c.nome,s.nome,f.mes) 
    order by
      c.nome,
      s.nome,
      f.mes desc

     

    nesse caso a field mes já pode ate deixar de existir

    28 minutos atrás, Dr. House disse:
    
    SELECT COALESCE(c.nome,'Total') as Categoria, 
        COALESCE(s.nome,'Total') as SubCategoria , 
        sum("valor") as Valores,
        coalesce(f.mes,'eu odeio nulo') as mes,
        (select coalesce(sum(valor),0) from fluxo fl where fl.mes = f.mes and fl.mes ilike 'janeiro') as janeiro,
        (select coalesce(sum(valor),0) from fluxo fl where fl.mes = f.mes and fl.mes ilike 'fevereiro') as fevereiro,
        (select coalesce(sum(valor),0) from fluxo fl where fl.mes = f.mes and fl.mes ilike 'marco') as marco,
        (select coalesce(sum(valor),0) from fluxo fl where fl.mes = f.mes and fl.mes ilike 'abril') as abril,
        (select coalesce(sum(valor),0) from fluxo fl where fl.mes = f.mes and fl.mes ilike 'maio') as maio,
        (select coalesce(sum(valor),0) from fluxo fl where fl.mes = f.mes and fl.mes ilike 'junho') as junho,
        (select coalesce(sum(valor),0) from fluxo fl where fl.mes = f.mes and fl.mes ilike 'julho') as julho,
        (select coalesce(sum(valor),0) from fluxo fl where fl.mes = f.mes and fl.mes ilike 'agosto') as agosto,
        (select coalesce(sum(valor),0) from fluxo fl where fl.mes = f.mes and fl.mes ilike 'setembro') as setembro,
        (select coalesce(sum(valor),0) from fluxo fl where fl.mes = f.mes and fl.mes ilike 'outubro') as outubro,
        (select coalesce(sum(valor),0) from fluxo fl where fl.mes = f.mes and fl.mes ilike 'novembro') as novembro,
        (select coalesce(sum(valor),0) from fluxo fl where fl.mes = f.mes and fl.mes ilike 'dezembro') as dezembro
    FROM public."fluxo" f inner join "categoria" c on c.id_cat = f.id_cat 
    inner join "subcategoria" s on s.id_sub = f.id_sub 
    group by rollup (c.nome,s.nome,f.mes) 
    order by
      c.nome,
      s.nome,
      f.mes desc

     

    nesse caso a field mes pode ate deixar de existir

  2. 1 minuto atrás, ma8926167 disse:

     

    Queria fazer esse exemplo abaixo:

    Categoria        | SubCategoria | Janeiro | Fevereiro  |

    Transportes    |      Carro         |  150      |     50         |

    Transportes    |      Onibus      |      0       |     50        |

    Alimentação   |      Mercado    |      100   |     250      |

    Alimentação   |   Restaurante |      100   |     50        |

    isso ai só c subcquery. cada mes uma subcquery

  3. Agora, Fernando.a@MSN.com disse:

    Boa tarde Dr. House, é os dados resultantes da consulta sim, vou dar uma olhada no dbeaver. Obrigado!

    com dbeaver é simples, você executa a conulta e na parte de baixo você da um control+a  depois export resultset

    escolhe a saida e pronto.

  4. E qual é a mensagem de erro mesmo?

    Se você ta tentando fazer para postgresql, deveria ser assim:

    --cria o enum
    create type sexo as enum('F','M');
    
    --criaa tabela
    create table pessoas (
    id serial,
    nome varchar(30) not null,
    nascimento date,
    sexo sexo,
    peso decimal(5,2),
    altura decimal(3,2),
    nacionalidade varchar(20) default 'Brasil'
    );
    --insere o dado
    insert into pessoas values (1,'2','1900-01-01','F',1,1,'brasil')

     

  5. 1 minuto atrás, Claudio Biasi disse:

    Dr. House, não criei uma role de login. Meu usuário se chama ccbiasi e é Administrador. ccbia é uma forma truncada do usuário, que também aparece na minha pasta Users. Não conheço o conceito de role de login, apenas tenho uma senha associada ao meu usuário. O que é uma role de login? Devo criar uma para ser capaz de entrar minha senha?

    Graymalkin, você tem toda a razão. Eu estava usando a senha errada, a do usuário postgres e não do meu usuário ccbiasi. Entretanto, entrei a senha do meu usuário e deu o mesmo erro...

    Obrigado!

    Abraços.

    se voce não criou uma role pro usuario ccbialgumacoisa, n adianta, não vai funcionar não.

    faça do jeito q disse acima. deve resolver

     

  6. 2 minutos atrás, Claudio Biasi disse:

    Olá.

    Dr. House, não criei uma role de login. Meu usuário se chama ccbiasi e é Administrador. ccbia é uma forma truncada do usuário, que também aparece na minha pasta Users. Não conheço o conceito de role de login, apenas tenho uma senha associada ao meu usuário. O que é uma role de login? Devo criar uma para ser capaz de entrar minha senha?

    Graymalkin, você tem toda a razão. Eu estava usando a senha errada, a do usuário postgres e não do meu usuário ccbiasi. Entretanto, entrei a senha do meu usuário e deu o mesmo erro...

    Obrigado!

    Abraços.

    use esse comando:

     

    createdb -h localhost -U postgres nomedobanco

    Assim voce define que a role de usuario do banco a ser utilizado sera postgres. Como você não definiu nenhuma role, e provavelmente você ainda não configurou seu .pgpass, o  sistema procurou o usuario adm do SO. Mas ele tambem não tem uma role de login. Ou você usa o parametro -U nomedarole, ou você configura seu .pgpass. Não sei no windows como funciona, mas no linux, basta criar um arquivo de texto nomea-lo como pgpass e colocar essa informacao dentro do arquivo: 

    *:5432:*:postgres:postgres

     

    onde seria: ipdoservidor:posta:bancosdedados:usuario:senha.  onde tem * indica que sera qualquer ip e qualquer banco.

    Espero q tenha ajudado

  7. Desculpe a demora, acho valida sim. É menos trabalho, já que a trigger já vai fazer tudo.

     

    20171011033902 = 2017-10-11-03:39:02

    você precisa fazer um split do campo. Como ele ta definido como Varchar,  você poe fazer um right(campo,6) para pegar  a hora:minutos:segundos de dentro da String.

    select
      right(hora_inicial,6) as horainicial,
      right(hora_final,6) as hora final
    from
      tabela

     depois você pode executar a operação que você deseja.

    De qualquer forma, no seu lugar eu não faria esta operação  em SQL e sim  usando a linguagem da sua aplicação

  8. Eu tenho uma pergunta: porque esse campo não é TimesTemp?

    20171011033902 = 2017-10-11-03:39:02

    você precisa fazer um split do campo. Como ele ta definido como Varchar,  você poe fazer um right(campo,6) para pegar  a hora:minutos:segundos de dentro da String.

    select
      right(hora_inicial,6) as horainicial,
      right(hora_final,6) as hora final
    from
      tabela

     depois você pode executar a operação que você deseja.

    De qualquer forma, no seu lugar eu não faria esta operação  em SQL e sim  usando a linguagem da sua aplicação

  9. oh, postgres funciona assim: se tu passa um "SELECT * FROM CLIENTE", por padrão  ele vai passar lowercase. Logo sua consulta vai funcionar independente da caixa. Se você mudar o padrão do sgdb, nada q já ta certinho e programado para executar vai acontecer, porque por padrão ele vai passar toLowerCase, e não vai ter nd lowercase la. No seu lugar eu simplesmente testaria se o driver utilizado na conexao atual for do postgresql,  passava a consulta toda pra lowercase e td vai funcionar. Em tese a alteração  seria em TODA a aplicacao, e sim no seu queryEngine (ou algo do tipo).

  10. abra ai o pgadmin, dbeaver ou qualquer outro  sgdb manager q você use. Se você disser select * from cliente (maiusculo ou não) a consulta vai executar. o problema é seu sql injection passando a tabela dentro das aspas! não faz diferença se maiusculo ou minusculo.

×
×
  • Criar Novo...