Olá Pessoal, estou tentando criar uma lov da seguinte maneira... quando a qtd de dias for maior que 0 e motivo for = 0 eu devo listar da minha query(possui valores de 0 a 10 ), somente os valores de 1 a 10, caso contrario eu listo ela por completo... algúem poderia me dar um help?
--select
select CDMOTIVO, NMMOTIVO
FROM R_xXGEP_057
--condicao para exibir lov parcial
(QTDDIAS > 0 AND MOTIVO = 0)
Desde já agradeço
Fábio Lebrão
Criação de Lov
- dr_gori
- Moderador
- Mensagens: 5013
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
- Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Isso é extremamente fácil de fazer. Veja o exemplo abaixo que eu fiz com SCOTT.
Criei uma variavel BIND chamada parametro e coloquei o valor S nela.
Agora, rodo o meu select: Observe que só vem os que são SALESMAN.
Repetimos o procedimento, colocando N na variável. Veja que agora, ele retorna todas linhas com o mesmo select!
Criei uma variavel BIND chamada parametro e coloquei o valor S nela.
SQL> var parametro varchar2(1);
SQL> var
variable parametro
datatype VARCHAR2
SQL> print parametro
PARAMETRO
--------------------------------
SQL> begin
2 :parametro:='S';
3 end;
4 /
PL/SQL procedure successfully completed.
SQL> print parametro
PARAMETRO
--------------------------------
S
Agora, rodo o meu select: Observe que só vem os que são SALESMAN.
SQL> SELECT *
2 FROM EMP
3 WHERE ( (:PARAMETRO = 'S' AND JOB='SALESMAN')
4 OR
5 :PARAMETRO <>'S'
6 )
7 /
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
SQL> begin
2 :parametro:='N';
3 end;
4 /
PL/SQL procedure successfully completed.
SQL> print parametro
PARAMETRO
--------------------------------
N
SQL>
SQL> SELECT *
2 FROM EMP
3 WHERE ( (:PARAMETRO = 'S' AND JOB='SALESMAN')
4 OR
5 :PARAMETRO <>'S'
6 )
7 /
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
7369 SMITH CLERK 7902 17-DEC-80 800 20
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30
7566 JONES MANAGER 7839 02-APR-81 2975 20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30
7698 BLAKE MANAGER 7839 01-MAY-81 2850 30
7782 CLARK MANAGER 7839 09-JUN-81 2450 10
7788 SCOTT ANALYST 7566 19-APR-87 3000 20
7839 KING PRESIDENT 17-NOV-81 5000 10
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30
7876 ADAMS CLERK 7788 23-MAY-87 1100 20
7900 JAMES CLERK 7698 03-DEC-81 950 30
7902 FORD ANALYST 7566 03-DEC-81 3000 20
7934 MILLER CLERK 7782 23-JAN-82 1300 10
14 rows selected.
SQL>
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante