Need help in DECODE?
Hello, i would like to know if this can be done in decode?
if sign(me - 537) = 1 then '> 18 '
else if sign(me - 446) = 1 then '> 15 - 18'
else if sign(me - 355) = 1 then '> 12 - 15'
else if sign(me - 172) = 1 then '> 6 - 12'
else if sign(me - 81) = 1 then '> 3 - 6'
else if sign(me - 51) = 1 then '> 2 - 3'
else '> 1 - 2'
end if
Any help is very much appreciated.
Yes very much...
SELECT DECODE(sign(:ME - 537),1,'> 18 ',
DECODE(sign(:ME - 446),1,'> 15 - 18',
DECODE(sign(:ME - 355),1,'> 12 - 15',
DECODE(sign(:ME - 172),1,'> 6 - 12',
DECODE(sign(:ME - 81),1,'> 3 - 6',
DECODE(sign(:ME - 51),1,'> 2 - 3','> 1 - 2')))))) VAL
FROM DUALas others have stated CASE will be my option
Similar Messages
-
Need help in decoding javascript tag for HTML5 output.
Hello all,
I am working on a project in Adobe captivate 7 64 bit which consists of around 500 slides with most of the slides being text and image. The problem I am facing is very unusual which I guess I am the first one to experience (as per my search on google and forums). So, after I publish my project the output works fine in html (local and online) BUT when I run index.html (i.e., HTML5 output) the course does not run and screen is blank.
After spending a week on searching online and using the trail and error strategy I was able to find out that it was the URL text "F:\usrnew\purchase" placed in the the middle of the course which caused the whole damage. However the url was removed and the project was submitted.
After spending some extra time I found out that the letter "\u" which is a javascript tag was causing the problem for the HTML5 output. I don't really know much about javascripting but found out that the tag can be decoded using some programming strategy. Now this is where my knowledge comes to a standby and needs a lift from you guys.
Any ideas, help, knowledge sharing would be very helpful for me and all those who might face this issue in future.
Looking forward for your views.
Kind Regards,
MirzaVoila! The issue is resolved.
Solution: Change the single slash "\" to a double slash "\\".
Cheers,
Mirza -
I had the table as follows :
ITEMCODE TEDCODE AMOUNT
AAAA BED 12345
AAAA EDU CESS 1234
AAAA SHECESS 123
AAAA CST 3% 12456
AND SO ON.
Now i want to convert the rows in Column heading TEDCODE to columns. But i want the specific rows like BED, EDU CESS, SHECESS in one column suppose EXCISE, and the other row i.e CST 3% in other column under heading TAX.
Please help me how i can do it using Decode statement.SQL> create table t (itemcode varchar(4),tedcode varchar(10),amount number);
Table created.
SQL> insert into t values('AAAA','BED',12345);
1 row created.
SQL> insert into t values('AAAA','EDU CESS',1234);
1 row created.
SQL> insert into t values('AAAA','SHECESS',123);
1 row created.
SQL> insert into t values('AAAA','CST 3%',12456);
1 row created.
SQL> select itemcode, tedcode,decode(tedcode,'CST 3%',null,amount) EXCISE, decod
e(tedcode,'CST 3%',amount,null) TAX from t;
ITEM TEDCODE EXCISE TAX
AAAA BED 12345
AAAA EDU CESS 1234
AAAA SHECESS 123
AAAA CST 3% 12456 -
Need help in decode statement to check condition
Hi All,
I have table emp with below structure
empno
work_phone_no
Home_phone
cell_phone
For the employee if work_phone & Home Phone is null then in place of work_phone we need to send the cell_phone number.
How to use the decode statement in this scenario to test for Home_phone
condition in the select statement.
select DECODE (work_phone_no,
null, cell_phone_no,office_phone_no )
from emp
ThanksHi,
Given the data you posted:
empno work_phone_no home_phone_no cell_phone_no
1 null 80032108556 8003210855
2 null null 8003210000 and your requirement is
"If work & Home nunbers are null then display cellhone number in place of workphone number "
, then, as John said, you do not want the results you posted. You want:
1 null 80032108556
2 8003210000 null That is, on the first row, where empno=1, the work_phone_no is NULL because the home_phone_no is NOT NULL, and cell_phone_no is only to be shown when both of the other phone numbers are missing.
To get the results above, use CASE:
SELECT empno
, CASE
WHEN work_phone_no IS NULL
AND home_phone_no IS NULL
THEN cell_phone_no
ELSE work_phone_no
END AS work_phone_no
, home_phone_no
FROM ...If you really do want the results you posted, then, as John said, use NVL. -
Need help with DECODE function
Hello,
I am trying to use default within the decode function and every time I get a missing expression. I have searched everywhere and cant figure out what I'm doing wrong. Thanks
select decode (request_id,0,'No files found', DEFAULT)Hi,
Welcome to the forum!
When you use a default value, the last argument to DECODE is the actual value you want as a default.
For example:
SELECT ename
, deptno
, DECODE ( deptno
, 30 , 'Sales'
, 'All others' -- Default value
) AS dname
FROM scott.emp
ORDER BY ename
;Output:
ENAME DEPTNO DNAME
ADAMS 20 All others
ALLEN 30 Sales
BLAKE 30 Sales
CLARK 10 All others
FORD 20 All others
JAMES 30 Sales
JONES 20 All others
KING 10 All others
MARTIN 30 Sales
MILLER 10 All others
SCOTT 20 All others
SMITH 20 All others
TURNER 30 Sales
WARD 30 Sales
I hope this answers your question.
If not, post a little sample data (CREATE TABLE and INSERT statements, relevant columns only) for all tables involved, and also post the results you want from that data.
Explain, using specific examples, how you get those results from that data.
If you can show the problem using commonly available tables (such as those in the scott schema) then you don't need to post any sample data; just the results and the explanation.
Always say which version of Oracle you're using (e.g., 11.2.0.2.0).
See the forum FAQ {message:id=9360002} -
Hi Experts,
Please help me on the below requirement.
I have a table STUDENT with the following data.
sid s_code
1 50
2 50
3 C
4 A
4 40
5 70
5 90
6 70I have a table MASTER with the following data.
stud_code STUD_ABB_CODE
40 NAF
50 NRI
60 CAM
70 NAS
80 RMA
90 MAS It 's having nearly 500 codes.
It's having only number codes not character codes.
i.e. C , A,
we have lot of codes but I have mentioned only few.
If S_CODE is C then I have show CLOSED
If S_CODE is A then I have show ACTIVE
If S_CODE is ANY number(50,60,70,90)
except C and A then I have to show STUD_ABB_CODE from MASTER table.The out put should be like thisdecode(s_code)
sid s_code DECODE(s_code)
1 50 NRI
2 50 NRI
3 C CLOSED
4 A ACTIVE
4 40 NAF
5 70 NAS
5 90 MAS
6 70 NASI have tried the following query but it's not working please help me.
select s_id,s_code,
DECODE (s_code,
'A', 'ACTIVE',
'C', 'CLOSED',DECODE(s_code,(SELECT DISTINCT stud_code
FROM student,master
WHERE s_code = stud_code
(SELECT DISTINCT stud_abb_code
FROM student,master
WHERE s_code = stud_code
from student;Hi,
You are probably the most persistand member of this forum.
user9077483
Handle: user9077483
Status Level: Newbie
Registered: Jan 30, 2010
Total Posts: 262
Total Questions: 136 (136 unresolved)
You never ever got any of your 135 quesations answered and still you ask again question number 136.
Whow.
Maybe this will be the first question you get a correct answer, if so please mark it as sush and give point to the correct answer.
You can solve the problem of the missing A and C in the master table by simply adding them to that table. If you do not want to modify the master table you can do the following:
with student (sid, s_code) as
select 1, '50' from dual union all
select 2, '50' from dual union all
select 3, 'C' from dual union all
select 4, 'A' from dual union all
select 4, '40' from dual union all
select 5, '70' from dual union all
select 5, '90' from dual union all
select 6, '70' from dual
1 50
2 50
3 C
4 A
4 40
5 70
5 90
6 70
,master (stud_code, stud_abb_code )as
select '40', 'NAF' from dual union all
select '50', 'NRI' from dual union all
select '60', 'CAM' from dual union all
select '70', 'NAS' from dual union all
select '80', 'RMA' from dual union all
select '90', 'MAS' from dual
40 NAF
50 NRI
60 CAM
70 NAS
80 RMA
90 MAS
,master_1 as
select stud_code, stud_abb_code from master union all
select 'A', 'ACTIVE' FROM DUAL UNION ALL
select 'C', 'CLOSED' FROM DUAL
STUD_CODE STUD_ABB_CODE
40 NAF
50 NRI
60 CAM
70 NAS
80 RMA
90 MAS
A ACTIVE
C CLOSED
SELECT
A.SID
,A.S_CODE
,B.STUD_ABB_CODE
FROM
STUDENT A LEFT OUTER JOIN
MASTER_1 B ON A.S_CODE = B.STUD_CODE
ORDER BY
1,3
SID S_CODE STUD_ABB_CODE
1 50 NRI
2 50 NRI
3 C CLOSED
4 A ACTIVE
4 40 NAF
5 90 MAS
5 70 NAS
6 70 NAS
8 rows selected Regards,
Peter -
Hi,
I need to write a DECODE function to which if I pass 'mystring' and if it has the value 'M' it should output 'M', if it has a value of 'F' it should output 'F' and if mystring is not same as string_coded then it should output string_coded.
I know the below statement is incorrect.
decode (mystring, 'M', 'M', 'F', 'F', (mystring <> string_coded), string_coded)
Is there a way to correct this DECODE? Please suggest.
Thanks.It is not clear of you want it to match the string 'string_coded' or if it is some column name, but with the example below you should be able to figure out what to adjust to make it work in your case.
SQL> create table mytable
2 as
3 select 'M' mystring, 'X' string_coded from dual union all
4 select 'F', 'X' from dual union all
5 select 'X', 'X' from dual union all
6 select 'Z', 'X' from dual
7 /
Tabel is aangemaakt.
SQL> select mystring
2 , string_coded
3 , decode(mystring,'M','M','F','F',string_coded,'mystring = string_coded','mystring != string_coded') your_expression
4 from mytable
5 /
M S YOUR_EXPRESSION
M X M
F X F
X X mystring = string_coded
Z X mystring != string_coded
4 rijen zijn geselecteerd.Regards,
Rob. -
I have a scenario like
if account no is 0001 or 0002 or 0003 then account_flag <> 'Y'
ELSE IF account no is 00009 then account_status <> 'Y'
How to write DECODE statement for this in Where part of select statement
Note: account_flag and account_status are 2 different columns in same tableHi,
I assumed you mean to update the values?
You can use case for that:
MHO%xe> select * from same_table;
ACCOU A A
0001 N N
0002 N N
0003 N N
0004 N N
0005 N N
0006 N N
0007 N N
0008 N N
0009 N N
0010 N N
10 rijen zijn geselecteerd.
Verstreken: 00:00:01.90
MHO%xe> update same_table
2 set account_flag = case when account_no in ('0001', '0002', '0003')
3 then 'Y'
4 else account_flag
5 end
6 , account_status = case when account_no = '0009'
7 then 'Y'
8 else account_status
9 end;
10 rijen zijn bijgewerkt.
Verstreken: 00:00:00.15
MHO%xe> commit;
Commit is voltooid.
Verstreken: 00:00:00.09
MHO%xe> select * from same_table;
ACCOU A A
0001 Y N
0002 Y N
0003 Y N
0004 N N
0005 N N
0006 N N
0007 N N
0008 N N
0009 N Y
0010 N N
10 rijen zijn geselecteerd.
Verstreken: 00:00:00.07
MHO%xe> desc same_table
Naam Null? Type
ACCOUNT_NO VARCHAR2(5)
ACCOUNT_FLAG VARCHAR2(1)
ACCOUNT_STATUS VARCHAR2(1) -
Need help to redesign legacy SQL Script
Hello Experts,
I have the below code which produces a CREATE TRIGGER statement. as of now this does for updating. I need to re-design this code to add for inserting and deleting as well. I just need help in the structuring wise. I can build the logic for inserting and updating inside. I want to know how i can continue to get for "inserting" and "deleting" as well.
you will understand my question better if you go through main code, present output and required output format below.
I know this is a bad design first of all. but the below code is a legacy one. so i cant change the entire structure of the code :-( all i can do is to continue designing it to add new changes. Hence sought help from you all.
please help
SQL CODE:
WITH audit_tables
AS
(SELECT object_name,
MIN (column_id) min_col,
MAX (column_id) max_col
FROM user_objects o,
user_tab_columns c
WHERE o.object_name = 'CHR_VAL_DESC_A_T'
AND o.object_name = c.table_name
GROUP BY object_name
SELECT txt
FROM (
SELECT ' CREATE OR REPLACE TRIGGER ' || REPLACE(object_name,'_A_T') || '_ADT_TRG' || CHR(13) ||
' AFTER INSERT ' || CHR(13) ||
' OR UPDATE ' || CHR(13) ||
' OR DELETE ' || CHR(13) ||
' ON ' || REPLACE(object_name,'_A_T','_T') || CHR(13) ||
' FOR EACH ROW ' || CHR(13) ||
' DECLARE ' || CHR(13) ||
' BEGIN ' || CHR(13) ||
' IF updating THEN ' || CHR(13) ||
' INSERT INTO ' || object_name || CHR(13) ||
' (' txt, object_name, 1 disp_order, 0 column_id
FROM audit_tables
UNION ALL
SELECT txt, object_name, disp_order, column_id
FROM (SELECT
CASE
WHEN max_col = column_id THEN
' '||column_name
ELSE
' '||column_name || ','
END AS txt, object_name, 2 disp_order, column_id
FROM audit_tables t,
user_tab_columns C
WHERE c.table_name = t.object_name
ORDER BY c.column_id ASC)
UNION ALL
SELECT ' )' || CHR(13) ||
' VALUES ' || CHR(13) ||
' (', object_name, 3 disp_order, 0
FROM audit_tables t
UNION ALL
SELECT txt, object_name, disp_order, column_id
FROM (SELECT
CASE
WHEN max_col = column_id THEN
CASE
WHEN SUBSTR(column_name,1,2) = 'N_' THEN
' :NEW.'||decode(substr(column_name,1,2),'N_',substr(column_name,3))||');'
WHEN SUBSTR(column_name,1,2) = 'O_' THEN
' :OLD.'||decode(substr(column_name,1,2),'O_',substr(column_name,3))||');'
WHEN min_col = column_id THEN
' 1'
WHEN column_id = 2 THEN
' ''I'''
WHEN column_id = 3 THEN
' SYSDATE'
ELSE
' :NEW.'||column_name||');'
END
ELSE
CASE
WHEN SUBSTR(column_name,1,2) = 'N_' THEN
' :NEW.'||decode(substr(column_name,1,2),'N_',substr(column_name,3))||','
WHEN SUBSTR(column_name,1,2) = 'O_' THEN
' :OLD.'||decode(substr(column_name,1,2),'O_',substr(column_name,3))||','
WHEN min_col = column_id THEN
' 1'||','
WHEN column_id = 2 THEN
' ''I'''||','
WHEN column_id = 3 THEN
' SYSDATE' ||','
ELSE
' :NEW.'||column_name||','
END
END AS txt,object_name, 4 disp_order, column_id
FROM audit_tables t,
user_tab_columns c
WHERE c.table_name = t.object_name
ORDER BY c.column_id ASC)
UNION ALL
SELECT 'END '||REPLACE(object_name,'_A_T') || '_ADT_TRG;' || CHR(13),
object_name, 5 disp_order, 0
FROM audit_tables)
ORDER BY object_name, disp_order, column_id
PRESENT OUTPUT:
CREATE OR REPLACE TRIGGER CHR_VAL_DESC_ADT_TRG
AFTER INSERT
OR UPDATE
OR DELETE
ON CHR_VAL_DESC_T
FOR EACH ROW
DECLARE
BEGIN
IF updating THEN
INSERT INTO CHR_VAL_DESC_A_T
TXN_ID,
TXN_TYP,
ADT_DTTM,
CHR_VAL_DESC_ID,
CHR_VAL_ID,
LANG_ID,
DESC_ID,
O_CHR_VAL_DESC,
N_CHR_VAL_DESC,
O_TRANS_STATE,
N_TRANS_STATE,
CRTD_BY,
CRTD_DTTM,
O_UPD_BY,
N_UPD_BY,
O_UPD_DTTM,
N_UPD_DTTM,
O_LOCK_NUM,
N_LOCK_NUM
VALUES
1,
'I',
SYSDATE,
:NEW.CHR_VAL_DESC_ID,
:NEW.CHR_VAL_ID,
:NEW.LANG_ID,
:NEW.DESC_ID,
:OLD.CHR_VAL_DESC,
:NEW.CHR_VAL_DESC,
:OLD.TRANS_STATE,
:NEW.TRANS_STATE,
:NEW.CRTD_BY,
:NEW.CRTD_DTTM,
:OLD.UPD_BY,
:NEW.UPD_BY,
:OLD.UPD_DTTM,
:NEW.UPD_DTTM,
:OLD.LOCK_NUM,
:NEW.LOCK_NUM);
END CHR_VAL_DESC_ADT_TRG;
REQUIRED OUTPUT FORMAT:
CREATE OR REPLACE TRIGGER TRIGGER_NAME
AFTER INSERT
OR UPDATE
OR DELETE
ON TABLE_NAME
FOR EACH ROW
DECLARE
BEGIN
IF updating THEN
INSERT TABLE_NAME
list of column names
VALUES
IF inserting THEN
INSERT TABLE_NAME
list of column names
VALUES
IF deleting THEN
INSERT TABLE_NAME
list of column names
VALUES
END TRIGGER_NAME;can anyone please help?
i tried adding with inserting and updating also..but when i tried to add deleting part the final output not comes in proper structure.
WITH audit_tables
AS
(SELECT object_name,
MIN (column_id) min_col,
MAX (column_id) max_col
FROM user_objects o,
user_tab_columns c
WHERE o.object_name IN ('CHR_VAL_DESC_A_T', 'CHR_VAL_A_T')
AND o.object_name = c.table_name
GROUP BY object_name
SELECT txt
FROM (
SELECT ' CREATE OR REPLACE TRIGGER ' || REPLACE(object_name,'_A_T') || '_ADT_TRG' || CHR(13) ||
' AFTER INSERT ' || CHR(13) ||
' OR UPDATE ' || CHR(13) ||
' OR DELETE ' || CHR(13) ||
' ON ' || REPLACE(object_name,'_A_T','_T') || CHR(13) ||
' FOR EACH ROW ' || CHR(13) ||
' DECLARE ' || CHR(13) ||
' BEGIN ' || CHR(13) ||
*' IF inserting THEN '* || CHR(13) ||
' INSERT INTO ' || object_name || CHR(13) ||
' (' txt, object_name, 1 disp_order, 0 column_id
FROM audit_tables
UNION ALL
SELECT txt, object_name, disp_order, column_id
FROM (SELECT
CASE
WHEN max_col = column_id THEN
' '||column_name
ELSE
' '||column_name || ','
END AS txt, object_name, 2 disp_order, column_id
FROM audit_tables t,
user_tab_columns C
WHERE c.table_name = t.object_name
ORDER BY c.column_id ASC)
UNION ALL
SELECT ' )' || CHR(13) ||
' VALUES ' || CHR(13) ||
' (', object_name, 3 disp_order, 0
FROM audit_tables t
UNION ALL
SELECT txt, object_name, disp_order, column_id
FROM (SELECT
CASE
WHEN max_col = column_id THEN
CASE
WHEN SUBSTR(column_name,1,2) = 'N_' THEN
' :NEW.'||decode(substr(column_name,1,2),'N_',substr(column_name,3))||');'
WHEN SUBSTR(column_name,1,2) = 'O_' THEN
' NULL'||');'
WHEN min_col = column_id THEN
' 1'
WHEN column_id = 2 THEN
' ''I'''
WHEN column_id = 3 THEN
' SYSDATE'
ELSE
' :NEW.'||column_name||');'
END
ELSE
CASE
WHEN SUBSTR(column_name,1,2) = 'N_' THEN
' :NEW.'||decode(substr(column_name,1,2),'N_',substr(column_name,3))||','
WHEN SUBSTR(column_name,1,2) = 'O_' THEN
' NULL'||','
WHEN min_col = column_id THEN
' 1'||','
WHEN column_id = 2 THEN
' ''I'''||','
WHEN column_id = 3 THEN
' SYSDATE' ||','
ELSE
' :NEW.'||column_name||','
END
END AS txt,object_name, 4 disp_order, column_id
FROM audit_tables t,
user_tab_columns c
WHERE c.table_name = t.object_name
ORDER BY c.column_id ASC)
UNION ALL
SELECT txt, object_name, disp_order, column_id
FROM(SELECT *' ELSIF updating THEN '* || CHR(13) ||
' INSERT INTO ' || object_name || CHR(13) ||
' (' txt, object_name, 5 disp_order, 0 column_id
FROM audit_tables
UNION ALL
SELECT txt, object_name, disp_order, column_id
FROM (SELECT
CASE
WHEN max_col = column_id THEN
' '||column_name
ELSE
' '||column_name || ','
END AS txt, object_name, 6 disp_order, column_id
FROM audit_tables t,
user_tab_columns C
WHERE c.table_name = t.object_name
ORDER BY c.column_id ASC)
UNION ALL
SELECT ' )' || CHR(13) ||
' VALUES ' || CHR(13) ||
' (', object_name, 7 disp_order, 0
FROM audit_tables t
UNION ALL
SELECT txt, object_name, disp_order, column_id
FROM (SELECT
CASE
WHEN max_col = column_id THEN
CASE
WHEN SUBSTR(column_name,1,2) = 'N_' THEN
' :NEW.'||decode(substr(column_name,1,2),'N_',substr(column_name,3))||');'
WHEN SUBSTR(column_name,1,2) = 'O_' THEN
' :OLD.'||decode(substr(column_name,1,2),'O_',substr(column_name,3))||');'
WHEN min_col = column_id THEN
' 1'
WHEN column_id = 2 THEN
' ''U'''
WHEN column_id = 3 THEN
' SYSDATE'
ELSE
' :NEW.'||column_name||');'
END
ELSE
CASE
WHEN SUBSTR(column_name,1,2) = 'N_' THEN
' :NEW.'||decode(substr(column_name,1,2),'N_',substr(column_name,3))||','
WHEN SUBSTR(column_name,1,2) = 'O_' THEN
' :OLD.'||decode(substr(column_name,1,2),'O_',substr(column_name,3))||','
WHEN min_col = column_id THEN
' 1'||','
WHEN column_id = 2 THEN
' ''U'''||','
WHEN column_id = 3 THEN
' SYSDATE' ||','
ELSE
' :NEW.'||column_name||','
END
END AS txt,object_name, 8 disp_order, column_id
FROM audit_tables t,
user_tab_columns c
WHERE c.table_name = t.object_name
ORDER BY c.column_id ASC)
UNION ALL
SELECT 'END IF;' || CHR(13) ||
'END '||REPLACE(object_name,'_A_T') || '_ADT_TRG;' || CHR(13),
object_name, 9 disp_order, 0
FROM audit_tables)
ORDER BY object_name, disp_order, column_id) -
NEED HELP IN SQL HOMEWORK PROBLEMS
I NEED HELP IN MY SQL HOMEWORK PROBLEMS....
I CAN SEND IT VIA EMAIL ATTACHMENT IN MSWORD....Try this:
SELECT SUBSTR( TN,
DECODE(LEVEL, 1, 1, INSTR(TN, '#', 1, LEVEL-1) + 1),
DECODE( INSTR(TN, '#', 1, LEVEL) , 0 ,
LENGTH(TN) + 1, INSTR(TN, '#', 1, LEVEL) )
- DECODE(LEVEL, 1, 1, INSTR(TN, '#', 1, LEVEL-1 ) + 1)
) xxx
FROM (
SELECT '234123#1254343#909823#908232#12345' TN FROM DUAL
CONNECT BY LEVEL <= LENGTH(TN) - LENGTH(REPLACE(TN,'#')) + 1
XXX
234123
1254343
909823
908232
12345
SELECT regexp_substr(tn, '[^#]+', 1, level) xx
FROM (
SELECT '234123#1254343#909823#908232#12345' TN FROM DUAL
CONNECT BY LEVEL <= LENGTH(TN) - LENGTH(REPLACE(TN,'#')) + 1
XX
234123
1254343
909823
908232
12345 -
Adobe reader not working. Needs help badly!!
I get this error message and will not read or open my PDF files pissing me off Please read and why is this doing this and how
do I fix this. Not happy!!
My error messge I get. I need help badly to fox this !!
Adobe reader could not open micro niche 14 Internet Marketing (1) zip because it is either not supported file type because the file
has been damaged (for example, it was sent as an email attachment and wasn't correctly decoded).
Can anybody Please help me !!!!!!!!!!!!!!!!!!!!!!!!!!
Michael Ladd and email is [removed]Adobe Reader cannot open ZIP files. It only opens PDF files.
-
Hi,
I need help with the following query. I want the balance (bal) with the latest exchange rate available.
Sample table & data
with
FX_RATE as
select 11 as id_date, 1 as id_curr, 47 as EXCH_rate from dual union
select 12, 1, 48 from dual union
select 13, 2, 54 from dual union
select 14, 2, 55 from dual union
select 15, 3, 56 from dual union
select 15, 2, 49 from dual),
TBL_NM as
select 13 as p_date, 2 as p_curr, 200 as bal from dual union
select 14, 2, 200 from dual union
select 15, 2, 200 from dual union
select 16, 2, 200 from dual union
select 17, 2, 200 from dual union
select 11, 5, 100 from dual
select p_date, p_curr, bal * nvl(exch_rate,1) from TBL_NM T LEFT OUTER JOIN FX_RATE F1 on (id_curr = p_curr and F1.id_date = T.p_Date)In the above query for p_date 16 & 17 and p_curr 2 it returns just balance multiplied by exchange rate 1"default". But i want the balance to have data as per latest exchange rate which is of exchange rate 15.
I tried this but returns error ORA-01799: a column may not be outer joined to a subquery ..
with
FX_RATE as
select 11 as id_date, 1 as id_curr, 47 as EXCH_rate from dual union
select 12, 1, 48 from dual union
select 13, 2, 54 from dual union
select 14, 2, 55 from dual union
select 15, 3, 56 from dual union
select 15, 2, 49 from dual),
TBL_NM as
select 13 as p_date, 2 as p_curr, 200 as bal from dual union
select 14, 2, 200 from dual union
select 15, 2, 200 from dual union
select 16, 2, 200 from dual union
select 17, 2, 200 from dual union
select 11, 5, 100 from dual
select p_date, p_curr, bal * nvl(exch_rate,1) from TBL_NM T LEFT OUTER JOIN FX_RATE F1
on (id_curr = p_curr and F1.id_date = (select max(F2.id_date) from FX_RATE F2 where F2.id_curr = T.p_curr and F2.id_Date <= T.p_date))Please advice on how i can achieve this ..The entire query wud be like this .. I've to incorporate in here
CREATE MATERIALIZED VIEW MV_DUMMY
BUILD IMMEDIATE
REFRESH FORCE ON DEMAND
AS
SELECT T.ID_TSACTION_RELEASED
BAL.ID_CONTRACT_BALANCE AS ID_CONTRACT_BALANCE,
T.N_REFERENCE_NUMBER
T.INSTRUMENT_N_REFERENCE
T.ITEM_NUMBER
T.EXTERNAL_SYSTEM_ID
T.SEQUENCE_NUMBER
T.ID_RELEASED_DATE
ROUND(BAL.LC_AVAILABLE_BALANCE * NVL(FX1.EXCHANGE_RATE,1) / NVL(FX2.EXCHANGE_RATE,1) , 4)
BAL.LIABILITY_BALANCE
BAL.LIABILITY_BALANCE * NVL(FX3.EXCHANGE_RATE,1)
BAL.LIABILITY_CHANGE_USD
BAL.MEMO_LIABILITY_BALANCE
BAL.MEMO_LIABILITY_BALANCE * NVL(FX3.EXCHANGE_RATE,1)
BAL.MEMO_LIABILITY_CHANGE_USD
BAL.ORIGINAL_FACE_AMOUNT
decode(T.TENOR_CODE,'Time','T','Sight','S','Split Sight Time','SST','Split Multiple Time','SMT',T.TENOR_CODE)
CASE
WHEN GTSPROD.PRODUCT_CATEGORY IN ('ILC','IB','AIR','STG','NLC','NP')
THEN T.ID_LIABILITY_CIF
WHEN GTSPROD.PRODUCT_CATEGORY IN ('ELC','EB','XLC','XP','EC','LN','SCF-AR')
THEN T.Id_Beneficiary
WHEN GTSPROD.PRODUCT_CATEGORY IN ('TLC','IC','OA','SCF-AP')
THEN T.ID_Applicant
END PRIMARY_CUSTOMER_ID,
CASE
WHEN GTSPROD.PRODUCT_CATEGORY IN ('ILC','IB','AIR','STG','NLC','NP')
THEN plbcif.EXTERNAL_SYSTEM_ID
WHEN GTSPROD.PRODUCT_CATEGORY IN ('ELC','EB','XLC','XP','EC','LN','SCF-AR')
THEN PBCIF.EXTERNAL_SYSTEM_ID
WHEN GTSPROD.PRODUCT_CATEGORY IN ('TLC','IC','OA','SCF-AP')
THEN pappcif.EXTERNAL_SYSTEM_ID
END PRIMARY_CUSTOMER_EXT_SYS_ID,
CASE
WHEN GTSPROD.PRODUCT_CATEGORY IN ('ILC','IB','AIR','STG','NLC','NP')
THEN plbcif.CIF_NAME
WHEN GTSPROD.PRODUCT_CATEGORY IN ('ELC','EB','XLC','XP','EC','LN','SCF-AR')
THEN PBCIF.CIF_NAME
WHEN GTSPROD.PRODUCT_CATEGORY IN ('TLC','IC','OA','SCF-AP')
THEN pappcif.CIF_NAME
END PRIMARY_CUSTOMER_NAME,
CASE
WHEN GTSPROD.PRODUCT_CATEGORY IN ('ILC','IB','AIR','STG','NLC','NP')
THEN plbbac.BAC
WHEN GTSPROD.PRODUCT_CATEGORY IN ('ELC','EB','XLC','XP','EC','LN','SCF-AR')
THEN pbbac.BAC
WHEN GTSPROD.PRODUCT_CATEGORY IN ('TLC','IC','OA','SCF-AP')
THEN pappbac.BAC
END PRIMARY_CUST_BAC_CODE,
CASE
WHEN GTSPROD.PRODUCT_CATEGORY IN ('ILC','IB','AIR','STG','NLC','NP')
THEN nvl(plbmg.MARKET,'NOT APPLICABLE')
WHEN GTSPROD.PRODUCT_CATEGORY IN ('ELC','EB','XLC','XP','EC','LN','SCF-AR')
THEN nvl(pbmg.MARKET,'NOT APPLICABLE')
WHEN GTSPROD.PRODUCT_CATEGORY IN ('TLC','IC','OA','SCF-AP')
THEN nvl(pappmg.MARKET,'NOT APPLICABLE')
END PRIMARY_CUST_MARKET,
CASE
WHEN GTSPROD.PRODUCT_CATEGORY IN ('ILC','IB','AIR','STG','NLC','NP')
THEN nvl(plbmg.SUB_MARKET,'NOT APPLICABLE')
WHEN GTSPROD.PRODUCT_CATEGORY IN ('ELC','EB','XLC','XP','EC','LN','SCF-AR')
THEN nvl(pbmg.SUB_MARKET,'NOT APPLICABLE')
WHEN GTSPROD.PRODUCT_CATEGORY IN ('TLC','IC','OA','SCF-AP')
THEN nvl(pappmg.SUB_MARKET,'NOT APPLICABLE')
END PRIMARY_CUST_SUB_MARKET
FROM F_TSACTION_RELEASED T
LEFT OUTER JOIN D_BAC_CODE BAC
ON (T.BAC_CODE_LIABILITY = BAC.BAC_CODE)
LEFT OUTER JOIN REF_BAC_SORT_CODE REF_BAC
ON (T.BAC_CODE_LIABILITY = REF_BAC.BAC)
LEFT OUTER JOIN F_CONTRACT_BALANCE BAL
ON (T.ID_TSACTION_RELEASED = BAL.ID_TSACTION_RELEASED)
LEFT OUTER JOIN D_MARKET_SEGMENT MG
ON (T.ID_MARKET_SEGMENT = MG.ID_MARKET_SEGMENT)
LEFT OUTER JOIN D_DATE DT
ON (DT.ID_DATE = T.ID_RELEASED_DATE)
LEFT OUTER JOIN D_DATE DB
ON (DB.ID_DATE = BAL.ID_RELEASED_DATE)
LEFT OUTER JOIN D_PROCESSING_UNIT PU
ON (PU.ID_PROCESSING_UNIT = T.ID_PROCESSING_UNIT)
LEFT OUTER JOIN D_BIR_PRODUCT BIRPROD
ON (BIRPROD.ID_BIR_PRODUCT=T.ID_BIR_PRODUCT)
LEFT OUTER JOIN D_GTS_PRODUCT_TYPE GTSPROD
ON (GTSPROD.ID_GTS_PRODUCT_TYPE= T.ID_GTS_PRODUCT_TYPE)
LEFT OUTER JOIN D_GTS_TSACTION_TYPE GTST
ON (GTST.ID_GTS_TSACTION_TYPE = T.ID_GTS_TSACTION_TYPE)
LEFT OUTER JOIN D_CURRENCY CCYT
ON (CCYT.ID_CURRENCY = T.ID_TSACTION_CURRENCY)
LEFT OUTER JOIN d_cif lcif
ON (lcif.id_cif = T.id_liability_cif)
LEFT OUTER JOIN d_cif lbcif
ON (lbcif.id_cif = bal.id_liability_cif)
LEFT OUTER JOIN d_cif bcif
ON (bcif.id_cif = T.id_BENEFICIARY)
LEFT OUTER JOIN d_cif icif
ON (icif.id_cif = T.id_ISSUING_BANK)
LEFT OUTER JOIN d_cif acif
ON (acif.id_cif = T.id_ADVISING_BANK)
LEFT OUTER JOIN d_cif appcif
ON (appcif.id_cif = T.id_applicant)
LEFT OUTER JOIN d_state astate
ON (astate.id_state = acif.id_state)
LEFT OUTER JOIN d_state bstate
ON (bstate.id_state = bcif.id_state)
LEFT OUTER JOIN d_state lstate
ON (lstate.id_state = lcif.id_state)
LEFT OUTER JOIN d_state lbstate
ON (lbstate.id_state = lbcif.id_state)
LEFT OUTER JOIN d_state istate
ON (istate.id_state = icif.id_state)
LEFT OUTER JOIN d_state appstate
ON (appstate.id_state = appcif.id_state)
LEFT OUTER JOIN D_TSACTION_SOURCE TSrc
ON (T.ID_TSACTION_SOURCE = TSrc.ID_TSACTION_SOURCE)
LEFT OUTER JOIN D_COUNTRY LCTRY
ON (LCTRY.ID_COUNTRY = lcif.ID_COUNTRY)
LEFT OUTER JOIN D_COUNTRY LBCTRY
ON (LBCTRY.ID_COUNTRY = lbcif.ID_COUNTRY)
LEFT OUTER JOIN D_COUNTRY BCTRY
ON (BCTRY.ID_COUNTRY = bcif.ID_COUNTRY)
LEFT OUTER JOIN D_COUNTRY ICTRY
ON (ICTRY.ID_COUNTRY = icif.ID_COUNTRY)
LEFT OUTER JOIN D_COUNTRY ACTRY
ON (ACTRY.ID_COUNTRY = acif.ID_COUNTRY)
LEFT OUTER JOIN D_COUNTRY APPCTRY
ON (APPCTRY.ID_COUNTRY = appcif.ID_COUNTRY)
LEFT OUTER JOIN D_COUNTRY PCTRY
ON (PCTRY.ID_COUNTRY = T.ID_PRESENTER_COUNTRY)
LEFT OUTER JOIN D_LOCATION LOC
ON (LOC.ID_LOCATION = T.ID_PROCESSING_LOCATION)
LEFT OUTER JOIN D_CURRENCY BCCYT
ON (BCCYT.ID_CURRENCY = BAL.ID_LIABILITY_CURRENCY)
LEFT OUTER JOIN D_CURRENCY BALCYT
ON (BALCYT.ID_CURRENCY = BAL.ID_BALANCE_CURRENCY)
LEFT OUTER JOIN d_liability_type li
ON (li.id_liability_type = BAL.id_liability_type)
LEFT OUTER JOIN d_cif plbcif
ON (plbcif.id_cif = T.id_liability_cif)
LEFT OUTER JOIN REF_BAC_SORT_CODE plbbac
ON (plbcif.bac_code=plbbac.bac)
LEFT OUTER JOIN D_MARKET_SEGMENT plbmg
ON (plbbac.SORT_CODE=plbmg.MARKET_SEGMENT)
LEFT OUTER JOIN d_cif pbcif
ON (pbcif.id_cif = T.id_BENEFICIARY)
LEFT OUTER JOIN REF_BAC_SORT_CODE pbbac
ON (pbcif.bac_code=pbbac.bac)
LEFT OUTER JOIN D_MARKET_SEGMENT pbmg
ON (pbbac.SORT_CODE=pbmg.MARKET_SEGMENT)
LEFT OUTER JOIN d_cif pappcif
ON (pappcif.id_cif = T.id_applicant)
LEFT OUTER JOIN REF_BAC_SORT_CODE pappbac
ON (pappcif.bac_code=pappbac.bac)
LEFT OUTER JOIN D_MARKET_SEGMENT pappmg
ON (pappbac.SORT_CODE=pappmg.MARKET_SEGMENT)
LEFT OUTER JOIN D_CURRENCY LOCALCYT
ON (LOCALCYT.alpha_code = PU.local_ccy)
LEFT OUTER JOIN D_BRANCH Branch
ON (T.ID_BRANCH = Branch.ID_BRANCH )
LEFT OUTER JOIN F_USD_FX_RATE_HISTORY FX1
ON (BAL.ID_BALANCE_CURRENCY = FX1.ID_CURRENCY and FX1.ID_DATE = (select max(FX11.ID_DATE) from F_USD_FX_RATE_HISTORY FX11 where BAL.ID_BALANCE_CURRENCY = FX11.ID_CURRENCY and FX11.ID_DATE <= BAL.id_released_date))
LEFT OUTER JOIN F_USD_FX_RATE_HISTORY FX2
ON (LOCALCYT.ID_CURRENCY = FX2.ID_CURRENCY and FX2.ID_DATE = (select max(FX22.ID_DATE) from F_USD_FX_RATE_HISTORY FX22 where LOCALCYT.ID_CURRENCY = FX22.ID_CURRENCY and FX22.ID_DATE <= BAL.id_released_date))
LEFT OUTER JOIN F_USD_FX_RATE_HISTORY FX3
ON (BAL.ID_LIABILITY_CURRENCY = FX3.ID_CURRENCY and FX3.ID_DATE = (select max(FX33.ID_DATE) from F_USD_FX_RATE_HISTORY FX33 where BAL.ID_LIABILITY_CURRENCY = FX33.ID_CURRENCY and FX33.ID_DATE <= BAL.id_released_date))Note the lines
ROUND(BAL.MN_AVAILABLE_BALANCE * NVL(FX1.EXCHANGE_RATE,1) / NVL(FX2.EXCHANGE_RATE,1) , 4)
BAL.LIABILITY_BALANCE * NVL(FX3.EXCHANGE_RATE,1)
BAL.MEMO_LIABILITY_BALANCE * NVL(FX3.EXCHANGE_RATE,1)
And
LEFT OUTER JOIN F_USD_FX_RATE_HISTORY FX1
ON (BAL.ID_BALANCE_CURRENCY = FX1.ID_CURRENCY and FX1.ID_DATE = (select max(FX11.ID_DATE) from F_USD_FX_RATE_HISTORY FX11 where BAL.ID_BALANCE_CURRENCY = FX11.ID_CURRENCY and FX11.ID_DATE <= BAL.id_released_date))
LEFT OUTER JOIN F_USD_FX_RATE_HISTORY FX2
ON (LOCAMNYT.ID_CURRENCY = FX2.ID_CURRENCY and FX2.ID_DATE = (select max(FX22.ID_DATE) from F_USD_FX_RATE_HISTORY FX22 where LOCAMNYT.ID_CURRENCY = FX22.ID_CURRENCY and FX22.ID_DATE <= BAL.id_released_date))
LEFT OUTER JOIN F_USD_FX_RATE_HISTORY FX3
ON (BAL.ID_LIABILITY_CURRENCY = FX3.ID_CURRENCY and FX3.ID_DATE = (select max(FX33.ID_DATE) from F_USD_FX_RATE_HISTORY FX33 where BAL.ID_LIABILITY_CURRENCY = FX33.ID_CURRENCY and FX33.ID_DATE <= BAL.id_released_date))Thsi is where I need to incorporate the change -
Hi,
I need help. I did not know how to make this select statement run without error.
select iif(max(numberseries) is null,'0',numberseries+ 1) from registration
ThankHi ,
May i know what are you trying to do ,
if you are trying to use if else in query, then it wont work
if else is not valid in query.
try to use decode or case , such that your need can be full filled
Thank you
Raj Deep.A -
Need help with division within a query
Hello all~
I am trying to divide these two columns to get a % of case numbers involving an accident. Im pretty sure you need to use decode to avoid the divide by 0 error but not sure how to implement this within my query. When i run this query below, it gives me the result of "1", which is not correct. Can someone help me please?
Oracle Version 10g
ACCIDENT is a datatype VARCHAR
CASE_NUMBER is a datatype VARCHAR
select to_char(count(ACCIDENT),'999,999,999') as "ACCIDENT",
to_char(COUNT(CASE_NUMBER),'999,999,999')as "CASE NUMBER",
round(ratio_to_report(count(accident))
OVER()*100,2)as "%"
from "PURSUIT"
WHERE ACCIDENT = 'Y'
AND
(:P1_BEG_DATE IS NULL AND :P1_END_DATE IS NULL
OR
pursuit_date BETWEEN to_date(:p1_beg_date,'MM/DD/YYYY') and to_date
(:p1_end_date,'MM/DD/YYYY'))
AND(:P1_TROOP=pursuit.officer_troop OR :p1_troop IS NULL)
AND(:P1_RADIO=pursuit.officer_radio OR :p1_radio IS NULL)
group by case_numberThanks
DeannaAre you sure that the ANDs and ORs in your WHERE clause will take precedence properly?
Also, if you always select only cases where there has been an accident, what percentage would you like to display? Surely in this case the percentage of cases involving in accident in cases where there was an accident.. is 100%?
as a simpler example
SELECT
accident,
ROUND(RATIO_TO_REPORT(count(*)) OVER() * 100)
FROM
pursuit
GROUP BY
accidentHere's a trick to neaten up those IS NULLs:
SELECT
accident,
ROUND(RATIO_TO_REPORT(count(*)) OVER() * 100)
FROM
pursuit
WHERE
pursuit_date >= COALESCE(:p1_beg_date, pursuit_date) AND
pursuit_date <= COALESCE(:p1_end_date, pursuit_date) AND
officer_troop LIKE :p1_troop AND
offcier_radio LIKE :p1_radio
GROUP BY
accidentTo wildcard a date, simply pass NULL in; the coalesce will replace the null with the pursuit_date from the record (thus the >= and <= becomes true)
To wildcard the troop or the radio, simply pass a '%' symbol as the value of the parameter. If the front end code is already set up to pass nulls, use the COALESCE trick above -
I need help with adobe iv reader.
iam trying to pin a website using ie.it says the reader cannot read the website,i am not computer saavy so i donot know how to fix this issue, pls help,tyvm.
i am trying to pin a website in internet explorer to my task bar,i get a
message that adobe v1 could not decode the website, i am not computer saavy
so i don't know what that means,plus this is a new computer 4 me.plus it
worked fine a few days ago. tyvm 4 ur help.
regards,
ray nist
In a message dated 6/11/2013 9:27:11 P.M. Eastern Daylight Time,
[email protected] writes:
Re: i need help with adobe iv reader.
created by Pat Willener (http://forums.adobe.com/people/pwillener) in
Adobe Reader - View the full discussion
(http://forums.adobe.com/message/5400013#5400013)
Maybe you are looking for
-
Shifting of GUI Co-ordinate system when Mouse clicked
In my JDK 1.2.2 / Swing based application I have this problem of change in coordinate values (x,y) when a mouse click is used. This problem occurs sometimes and reason cannot be traced. For e.g. If a user clicks "on" a Button the button is not affect
-
hi, i have been using pjc for customized text field and text area and have successfully implemented it on windows and sun solaris. we have used pjc for working in non english character set so that the user can directly type in the required character
-
[SOLVED] X not quite right (resolution, driver, color depth)
I am followed the instructions in the Beginner's Guide, and I am quite happy with my system. However although I am certain I installed the open Radeon driver, any time I enable it, X just gives me a blank screen. If I can ctrl-alt-backspace out of it
-
How does the adapter specific parameters gets filled up?
Hello, How do I check adapter specific parameters? like, I am making the Soap action parameter to dynamically fill in the receiver soap adapter. I want to check if the correct (one of the 4 actions) action was filled in action field how do I check? t
-
When switching between keyword sets using "command 0" the keywords of the new set having the same position (keypad number) of keywords selected in the previous set are highlighted and must be chosen twice (once to remove highlighting and once to sele