csapi 0 Denunciar post Postado Junho 3, 2011 Caros colegas estou fazendo um pesquisa no mysql e estou usando a seguinte select: SELECT if(`tab_funcionario_folha`.`ID_FUNCAO`=22,1,0) As Expr1,if(`tab_funcionario_folha`.`ID_FUNCAO`=23,1,0) as Expr2 FROM `tab_funcionario_folha`; o resultado fica assim: Expr1 | Expr2 ------------- 1 0 0 1 1 1 Agora preciso calcular nesta mesma select a Expr1 e a Expr2 e mostrar o resulta na Expr3 como seria esta SELECT? o resultado tera que ficar assim: Expr1 | Expr2 | Expr3 --------------------- 1 0 1 0 1 1 1 1 2 De ja agradeço a todos pela atenção Cláudio Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Junho 5, 2011 de forma + simples select Expr1,Expr2,(Expr1+Expr2) Expr3 from ( SELECT if(`tab_funcionario_folha`.`ID_FUNCAO`=22,1,0) As Expr1, if(`tab_funcionario_folha`.`ID_FUNCAO`=23,1,0) as Expr2 FROM `tab_funcionario_folha`) ) Compartilhar este post Link para o post Compartilhar em outros sites
csapi 0 Denunciar post Postado Junho 6, 2011 Caro Motta fiz exatamente como sugeriu acima, mas esta aparecendo o seguinte erro: SQL execution erro # 1248. Res´ponse from the database: every dereved table must have its own alias O que pode ser, e como contornar isso. Grato, Cláudio Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Junho 6, 2011 SQL execution erro # 1248. Res´ponse from the database:every dereved table must have its own alias Pelo que entendi tabelas derivadas devem ter um alias(apelido). Então , tente : select Expr1,Expr2,(Expr1+Expr2) Expr3 from ( SELECT if(`tab_funcionario_folha`.`ID_FUNCAO`=22,1,0) As Expr1, if(`tab_funcionario_folha`.`ID_FUNCAO`=23,1,0) as Expr2 FROM `tab_funcionario_folha`) ) apelido Compartilhar este post Link para o post Compartilhar em outros sites
csapi 0 Denunciar post Postado Junho 7, 2011 Valeu Motta deu certo, esta exatamente como eu preciso. So não sei como fazer agora para marcar este post como [Resolvido] Obrigado pela ajuda, Cláudio Compartilhar este post Link para o post Compartilhar em outros sites