Search the Community
Showing results for tags 'view'.
-
Vi que em algumas consultas, quando o cliente precisa saber as deficiências de uma pessoa, a sentença SQL está como o exemplo abaixo: SELECT A.NOME, DEFICIENCIA = CASE WHEN A.DEFICIENTEAUDITIVO = '1' AND A.DEFICIENTEFALA = '0' AND A.DEFICIENTEFISICO = '0' AND A.DEFICIENTEMENTAL = '0' AND A.DEFICIENTEVISUAL = '0' THEN 'Deficiente Auditivo' WHEN A.DEFICIENTEAUDITIVO = '0' AND A.DEFICIENTEFALA = '1' AND A.DEFICIENTEFISICO = '0' AND A.DEFICIENTEMENTAL = '0' AND A.DEFICIENTEVISUAL = '0' THEN 'Deficiente Fala' WHEN A.DEFICIENTEAUDITIVO = '0' AND A.DEFICIENTEFALA = '0' AND A.DEFICIENTEFISICO = '1' AND A.DEFICIENTEMENTAL = '0' AND A.DEFICIENTEVISUAL = '0' THEN 'Deficiente Físico' WHEN A.DEFICIENTEAUDITIVO = '0' AND A.DEFICIENTEFALA = '0' AND A.DEFICIENTEFISICO = '0' AND A.DEFICIENTEMENTAL = '1' AND A.DEFICIENTEVISUAL = '0' THEN 'Deficiente Mental' WHEN A.DEFICIENTEAUDITIVO = '0' AND A.DEFICIENTEFALA = '0' AND A.DEFICIENTEFISICO = '0' AND A.DEFICIENTEMENTAL = '0' AND A.DEFICIENTEVISUAL = '1' THEN 'Deficiente Visual' ELSE '' END FROM PPESSOA A (NOLOCK) A questão, é que neste modelo o retorno dos dados é totalmente incompleto, pois pode acontecer de, lá no cadastro, uma pessoa ter mais de uma deficiência. Assim, a consulta acima só traz a informação abaixo: NOME | DEFICIENCIA Maria | Física José | Física Pedro | Fala Pensando nisso, criamos a seguinte view: CREATE VIEW V_CONSTANT_DEFICIENCIA AS SELECT ID = 1, NOME = 'Física' UNION SELECT ID = 2, NOME = 'Auditiva' UNION SELECT ID = 3, NOME = 'Fala' UNION SELECT ID = 4, NOME = 'Visual' UNION SELECT ID = 5, NOME = 'Mental' UNION SELECT ID = 6, NOME = 'Intelectual' Assim, a nossa consulta poderá ser montada da seguinte forma: SELECT A.NOME, DEFICIENCIA = STUFF((SELECT ',' + X.NOME FROM V_CONSTANT_DEFICIENCIA X WHERE X.ID IN ( A.DEFICIENTEAUDITIVO, A.DEFICIENTEFALA, A.DEFICIENTEFISICO, A.DEFICIENTEINTELECTUAL, A.DEFICIENTEMENTAL) FOR XML PATH('')),1,1,'') FROM PPESSOA A (NOLOCK) E o resultado será: NOME | DEFICIENCIA Maria | Física, Auditiva José | Física Pedro | Fala, Auditiva, Visual Espero que tenha sido útil! Ilano Caldas - MDI Soluções
-
Prezados, boa tarde. Estou com um problema crítico no RMOfficina em que ao cadastrar um novo usuário e acessar o menu Ordem de Serviço não é apresentado a listagem dos serviços. Todos os usuários criados possuem acessos completos (DBA) sem restrição a qualquer campo. Obrigado pela ajuda. Abs. Eduardo Goecking Carabetti.
- 2 replies
-
- ordem de serviço
- problema ao visualizar
-
(and 2 more)
Tagged with: