Array
(
)

Colocar IF no SELECT

Gcattoni
   - 27 abr 2007

Galera, bom dia..

Preciso de uma ajuda urgente...

Estouo precisando colocar um IF na minha consulta ...
Alguem saberia qual a sintaxe correta pra colocar ...

Tentei assim mas dá erro de sintaxe :

select if(ealunos.lingua=1, ´A´, ´B´ ) Lingua

from ealunos a, emataluno b
where
a.mataluno=b.mataluno
and a.codcoligada=b.codcoligada

Alguem pode me ajudar com urgencia ????

Ja agradeço...

Guilherme Cattoni...........

Wagner Reatto
   - 27 abr 2007

sugiro que você utilize CASE

SELECT CASE
FC_DATA,
WHEN FC_ESTOQUE = ´0001´ THEN ´É ISSO AI´
ELSE ´MAUS!´
END
FROM dbo.tblFC

Citação:
Galera, bom dia..

Preciso de uma ajuda urgente...

Estouo precisando colocar um IF na minha consulta ...
Alguem saberia qual a sintaxe correta pra colocar ...

Tentei assim mas dá erro de sintaxe :

select if(ealunos.lingua=1, ´A´, ´B´ ) Lingua

from ealunos a, emataluno b
where
a.mataluno=b.mataluno
and a.codcoligada=b.codcoligada

Alguem pode me ajudar com urgencia ????

Ja agradeço...

Guilherme Cattoni...........


Gcattoni
   - 27 abr 2007

Não dá pra ser com case porque, essa condição se for verdadeira vai rodar um select que soma o resultado de outros select, se for falso vai rodar um select que soma o resultado de outro select ...

exemplo:

SELECT

(
SELECTN.P20
fromEALUNOTPR N
WHEREN.PERLETIVO = MC.PERLETIVO
ANDN.CODETP = MA.CODETP
ANDN.CODTUR = MC.CODTUR
ANDN.CODCOLIGADA=MC.CODCOLIGADA
ANDN.CODMAT = 05
ANDN.MATALUNO = MC.MATALUNO
)BIOLOGIA_PROVA2,

(select if(ealunos.lingua=1, ´A´, ´B´ ) Lingua
THEN

(
SELECTsum(N.P20)
fromEALUNOTPR N
WHEREN.PERLETIVO = MC.PERLETIVO
ANDN.CODETP = MA.CODETP
ANDN.CODTUR = MC.CODTUR
ANDN.CODCOLIGADA=MC.CODCOLIGADA
ANDN.CODMAT in (05,60)
ANDN.MATALUNO = MC.MATALUNO
)TOT

ELSE

(
SELECTsum(N.P20)
fromEALUNOTPR N
WHEREN.PERLETIVO = MC.PERLETIVO
ANDN.CODETP = MA.CODETP
ANDN.CODTUR = MC.CODTUR
ANDN.CODCOLIGADA=MC.CODCOLIGADA
ANDN.CODMAT in (05,59)
ANDN.MATALUNO = MC.MATALUNO
)TOT

END),

FROM .....

minha situação é essa .....
Se algume puder me ajdar ....

Obrigado,

Guilherme

N_informatica
   - 27 ago 2007

E amigão já sofri muito com o RM em uma faculdade em q trabalhei, o Banco deles é meio complicado mesmo.

Mas faz o seguinte me passa as estruturas das tabelas e o que realmente quer fazer q vou ver se posso te ajudar.

Já utilizei muito essa ealumuos, mataluno e outras....rsrs..

Estou aguardando

Emerson
   - 27 ago 2007

não entendi o IF...
explique melhor o que você precisa

Knight_of_wine
   - 27 ago 2007

Sugiro que você crie uma Stored Procedure, ou implemente isso na linguagem que você utiliza.

Creio que é a melhor solução.

Emerson
   - 29 ago 2007

e aí... resolveu o problema?