none
CLAUSULA WHERE EM ALIAS RRS feed

  • Pergunta

  • Prezados, olá.

    Estou com um problema, não estou conseguindo um resultado.

    segue query:

    select cod_exame, cod_func2, cod_cli, tipoexame.cod_tipoexame, dt_exame, dt_real_exame,
    tipo_tipoexame, nome_func, dt_adm_func, dt_saida_func, DATEDIFF(day, dt_exame, '2015-01-01') 'somadedias'
    from exame , tipoexame, funcionarios
    where cod_cli = 223
    and funcionarios.cod_cli2 = exame.cod_cli
    and exame.cod_tipoexame = tipoexame.cod_tipoexame
    and funcionarios.cod_func = exame.cod_func2
    and tipo_tipoexame = 'ADMISSIONAL'
    and dt_saida_func is null
    and somadedias >= 10;
    

    O problema é que eu quero que só traga igual ou maior que 10 na somadedias.

    Porem diz que o nome da colina é invalido.

    Oque posso fazer para resolver?

    Obrigado.

    terça-feira, 17 de fevereiro de 2015 12:40

Respostas

  • Marcelo,

    Vc deveria utilizar na cláusula WHERE a mesma expressão que colocou no SELECT.

    Ficaria então algo como:

    select cod_exame, cod_func2, cod_cli, tipoexame.cod_tipoexame, dt_exame, dt_real_exame,
    tipo_tipoexame, nome_func, dt_adm_func, dt_saida_func, DATEDIFF(day, dt_exame, '2015-01-01') 'somadedias'
    from exame , tipoexame, funcionarios
    where cod_cli = 223
    and funcionarios.cod_cli2 = exame.cod_cli
    and exame.cod_tipoexame = tipoexame.cod_tipoexame
    and funcionarios.cod_func = exame.cod_func2
    and tipo_tipoexame = 'ADMISSIONAL'
    and dt_saida_func is null
    and DATEDIFF(day, dt_exame, '2015-01-01') >= 10 -- Mudar a query neste ponto

    terça-feira, 17 de fevereiro de 2015 13:12

Todas as Respostas

  • Marcelo,

    Vc deveria utilizar na cláusula WHERE a mesma expressão que colocou no SELECT.

    Ficaria então algo como:

    select cod_exame, cod_func2, cod_cli, tipoexame.cod_tipoexame, dt_exame, dt_real_exame,
    tipo_tipoexame, nome_func, dt_adm_func, dt_saida_func, DATEDIFF(day, dt_exame, '2015-01-01') 'somadedias'
    from exame , tipoexame, funcionarios
    where cod_cli = 223
    and funcionarios.cod_cli2 = exame.cod_cli
    and exame.cod_tipoexame = tipoexame.cod_tipoexame
    and funcionarios.cod_func = exame.cod_func2
    and tipo_tipoexame = 'ADMISSIONAL'
    and dt_saida_func is null
    and DATEDIFF(day, dt_exame, '2015-01-01') >= 10 -- Mudar a query neste ponto

    terça-feira, 17 de fevereiro de 2015 13:12
  • Marcelo,

    Vc deveria utilizar na cláusula WHERE a mesma expressão que colocou no SELECT.

    Ficaria então algo como:

    select cod_exame, cod_func2, cod_cli, tipoexame.cod_tipoexame, dt_exame, dt_real_exame,
    tipo_tipoexame, nome_func, dt_adm_func, dt_saida_func, DATEDIFF(day, dt_exame, '2015-01-01') 'somadedias'
    from exame , tipoexame, funcionarios
    where cod_cli = 223
    and funcionarios.cod_cli2 = exame.cod_cli
    and exame.cod_tipoexame = tipoexame.cod_tipoexame
    and funcionarios.cod_func = exame.cod_func2
    and tipo_tipoexame = 'ADMISSIONAL'
    and dt_saida_func is null
    and DATEDIFF(day, dt_exame, '2015-01-01') >= 10 -- Mudar a query neste ponto

    Renato, 

    muito obrigado, era isso mesmo que faltava.

    Problema resolvido, obrigado.


    quarta-feira, 18 de fevereiro de 2015 11:38