Fórum CASE em SELECT #374088
26/08/2009
0
Como utilizo CASE dentro de um select?
Por ex.: Ao invés de uma das coluna apresentar a sigla ´D´ quero que apresente como ´DIAGONAL´...
Isto estarei implementando dentro de uma view para mostrar na grid do cadastro.
Assim é ideal? Ou fazer isto em modo de execução?
Lenasi
Curtir tópico
+ 0Posts
26/08/2009
Alex Maia
CAMPO1,
CAMPO2,
CASE
WHEN CAMPO3 = ´D´ THEN
´DIAGONAL´
ELSE
´OUTRO´
END AS CAMPO3
FROM
TABELA1
Gostei + 0
26/08/2009
Fabiano Góes
SELECT CASE E.job_country WHEN ´USA´ THEN ´ESTADOS UNIDOS DA AMÉRICA´ WHEN ´England´ THEN ´INGLATERRA´ ELSE ´CAMPO EM BRANDO´ END PAIS FROM EMPLOYEE E
Gostei + 0
26/08/2009
Lenasi
SELECT CASE E.job_country WHEN ´USA´ THEN ´ESTADOS UNIDOS DA AMÉRICA´ WHEN ´England´ THEN ´INGLATERRA´ ELSE ´CAMPO EM BRANDO´ END PAIS FROM EMPLOYEE E
OLÁ AMIGO.
PERFEITO.
FUNCIONOU...
É POSSÍVEL INSERIR O ORDER BY ?
TENTEI MAS NÃO DEU CERTO...
Gostei + 0
26/08/2009
Lenasi
SELECT CASE E.job_country WHEN ´USA´ THEN ´ESTADOS UNIDOS DA AMÉRICA´ WHEN ´England´ THEN ´INGLATERRA´ ELSE ´CAMPO EM BRANDO´ END PAIS FROM EMPLOYEE E
Opá, me deparei com um problema...
Tenho um campo que utilizo como GroupCheckBox
e justamente um deste que utilizo o case...
Depois da mudança, o sistema não reconhece mais este campo, digo,
os checkbox não vem mais marcado e quando marco um deles, dá erro...
O que pode ser amigo?
Gostei + 0
27/08/2009
Osocram
SELECT E.job_country, CASE E.job_country WHEN ´USA´ THEN ´ESTADOS UNIDOS DA AMÉRICA´ WHEN ´England´ THEN ´INGLATERRA´ ELSE ´CAMPO EM BRANDO´ END PAIS FROM EMPLOYEE E
vc tem q manter o seu campo original se quer editar ele
SELECT CASE E.job_country WHEN ´USA´ THEN ´ESTADOS UNIDOS DA AMÉRICA´ WHEN ´England´ THEN ´INGLATERRA´ ELSE ´CAMPO EM BRANDO´ END PAIS FROM EMPLOYEE E
Opá, me deparei com um problema...
Tenho um campo que utilizo como GroupCheckBox
e justamente um deste que utilizo o case...
Depois da mudança, o sistema não reconhece mais este campo, digo,
os checkbox não vem mais marcado e quando marco um deles, dá erro...
O que pode ser amigo?[/quote:a5213f7de9]
Gostei + 0
27/08/2009
Lenasi
SELECT E.job_country, CASE E.job_country WHEN ´USA´ THEN ´ESTADOS UNIDOS DA AMÉRICA´ WHEN ´England´ THEN ´INGLATERRA´ ELSE ´CAMPO EM BRANDO´ END PAIS FROM EMPLOYEE E vc tem q manter o seu campo original se quer editar ele
OK, FUNCIONOU, Mas ao gravar continua outro erro:
CANNOT UPDATE READY-ON VW_MINHA_TABELA
Para incluir esta view na SqlDataSet e ClientDataSet, é normal como se fosse uma tabela?
Gostei + 0
27/08/2009
Facc
SELECT E.job_country, CASE E.job_country WHEN ´USA´ THEN ´ESTADOS UNIDOS DA AMÉRICA´ WHEN ´England´ THEN ´INGLATERRA´ ELSE ´CAMPO EM BRANDO´ END PAIS FROM EMPLOYEE E vc tem q manter o seu campo original se quer editar ele
Amigo a VIEW funciona apenas para exibir dados... para gravar vc tem que usar um ´select´ limpo, ou seja, sem Select Case
Gostei + 0
27/08/2009
Lenasi
ENTÃO DEVO ASSOCIAR A VIEW SOMENTE NA GRID É ISSO?
DEVO COLOCAR OUTROS COMPONENTES SOMENTE PRA ISSO?
Gostei + 0
27/08/2009
Osocram
So que vc tem q configurar quais campos vai ser editavel e qual não vai.
Se estiver usando isso atravez de um SqlQuery, Provider e ClientDataSet. Deve editar isso na no SqlQuery, vc seleciona o campo e vai na propriedade ProviderFlags e deixa tudo false, se tiver a prop Required deixa false tbm. Depios tenha certeza q essa configuração foi replicado p o seu ClientDataSet. Essas propriedade é que vao auxiliar o Provider a montar o Select de Insert ou Alter, então vc deixando false ele não vai usar esses campos e vao servir simplesmente para consulta, por isso que eu disse para manter o campo original e um c case, se precisar alterar altera o Original.
SELECT E.job_country, CASE E.job_country WHEN ´USA´ THEN ´ESTADOS UNIDOS DA AMÉRICA´ WHEN ´England´ THEN ´INGLATERRA´ ELSE ´CAMPO EM BRANDO´ END PAIS FROM EMPLOYEE E vc tem q manter o seu campo original se quer editar ele
Amigo a VIEW funciona apenas para exibir dados... para gravar vc tem que usar um ´select´ limpo, ou seja, sem Select Case[/quote:6d907b42ab]
Gostei + 0
27/08/2009
Lenasi
So que vc tem q configurar quais campos vai ser editavel e qual não vai.
Se estiver usando isso atravez de um SqlQuery, Provider e ClientDataSet. Deve editar isso na no SqlQuery, vc seleciona o campo e vai na propriedade ProviderFlags e deixa tudo false, se tiver a prop Required deixa false tbm. Depios tenha certeza q essa configuração foi replicado p o seu ClientDataSet. Essas propriedade é que vao auxiliar o Provider a montar o Select de Insert ou Alter, então vc deixando false ele não vai usar esses campos e vao servir simplesmente para consulta, por isso que eu disse para manter o campo original e um c case, se precisar alterar altera o Original.
[/code]
FUNCIONOU PARA ALTERAÇÃO, MAS AO TENTAR ALTERAR DEU O MESMO ERRO !!!
Gostei + 0
27/08/2009
Osocram
Gostei + 0
27/08/2009
Lenasi
NA VERDADE AMIGO, ESTOU UTILIZANDO A VIEW PARA MUDAR O NOME CAMPO NA GRID... SÓ ISTO...
HÁ OUTRA VANTAGEM???? CREIO QUE SIM...
AGORA, HÁ POSSIBILDIADE DE MUDAR O NOME EM TEMPO DE EXECUÇÃO???
Gostei + 0
27/08/2009
Osocram
e ve se assim funciona.
Não gosto muito de usar view, apenas em casos extremos.
NA VERDADE AMIGO, ESTOU UTILIZANDO A VIEW PARA MUDAR O NOME CAMPO NA GRID... SÓ ISTO...
HÁ OUTRA VANTAGEM???? CREIO QUE SIM...
AGORA, HÁ POSSIBILDIADE DE MUDAR O NOME EM TEMPO DE EXECUÇÃO???[/quote:0c1415765c]
Gostei + 0
27/08/2009
Lenasi
PERFEITO AMIGO. DEU CERTO...
ONDE MAIS SÃO UTILIZADO AS VIEWS?
Gostei + 0
27/08/2009
Emerson Nascimento
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)