Connecting Tech Pros Worldwide Forums | Help | Site Map

Oracle query help urgent !!

Newbie
 
Join Date: Aug 2008
Posts: 8
#1: Sep 18 '09
Hi,

This is the query i am trying to build

I have attached the same in the file....


while running its throwing an error ........

NVL((SELECT USAGEMODE FROM KKTYPEMAST_AP B WHERE B.TYPE_ID_USG=A.TYPE_ID_USG AND
B.JURISDICTION=A.JURISDICTION),(SELECT USAGEMODE FROM KKTYPEMAST_AP B WHERE B.T
YPE_ID_USG=A.TYPE_ID_USG AND ROWNUM=1)),
*
ERROR at line 15:
ORA-06550: line 15, column 6:
PLS-00103: Encountered the symbol "SELECT" when expecting one of the following:
( - + mod not null others <an identifier>
<a double-quoted delimited-identifier> <a bind variable> avg
count current exists max min prior sql stddev sum variance
execute forall time timestamp interval date
<a string literal with character set specification>
<a number> <a single-quoted SQL string>
ORA-06550: line 15, column 112:
PLS-00103: Encountered the symbol "," when expecting one of the following:
; return returning and or
ORA-06550: line 15, column 199:
PLS-00103: Encountered the symbol ")" when expecting one of the following:
, ; for <an identifier>
<a double-quoted delimited-identifier> group having intersect
minus order start union where connect
ORA-06550: line 18, column 5:
PLS-00103: Encountered the symbol "(" when expecting one of the following:
. , @ ; for <an identifier>
<a double-quoted delimited-identifier> group having intersect
minus order p



Pls help me for the error
Attached Files
File Type: txt tmp_kk_rev.txt (2.6 KB, 17 views)

amitpatel66's Avatar
Moderator
 
Join Date: Mar 2007
Location: Hyderabad, India
Posts: 2,192
#2: Sep 23 '09

re: Oracle query help urgent !!


You did not give the Alias name to the NVL functions:

Expand|Select|Wrap|Line Numbers
  1. SELECT BILL_REF_NO,
  2.        USAGEMODE,
  3.        BILLED_AMOUNT,
  4.        DISCOUNT,
  5.        SOU,
  6.        UNITS 
  7. FROM (
  8. SELECT
  9. A.BILL_REF_NO,
  10. NVL(
  11.     (SELECT USAGEMODE 
  12.      FROM KKTYPEMAST_AP B 
  13.      WHERE B.TYPE_ID_USG=A.TYPE_ID_USG
  14.      AND B.JURISDICTION=A.JURISDICTION),
  15.     (SELECT USAGEMODE 
  16.      FROM KKTYPEMAST_AP B 
  17.      WHERE B.TYPE_ID_USG=A.TYPE_ID_USG 
  18.      AND ROWNUM=1)
  19.    ) usagemode,
  20. A.BILLED_AMOUNT,
  21. A.DISCOUNT,
  22. NVL2(
  23.      (SELECT 1 
  24.       FROM 
  25.       KKTYPEMAST_AP 
  26.       WHERE TYPE_ID_USG=A.TYPE_ID_USG 
  27.       AND (UPPER(TYPEDESC) LIKE '%MARKUP%' OR UPPER(TYPEDESC) LIKE '%TAX%' OR (UPPER(TYPEDESC) LIKE '%PSTN%' 
  28.       AND TYPE_ID_USG LIKE '%2')) 
  29.       AND ROWNUM=1),A.SOU,0
  30.     ) sou,
  31. NVL2(
  32.      (SELECT 1 
  33.       FROM KKTYPEMAST_AP 
  34.       WHERE TYPE_ID_USG=A.TYPE_ID_USG 
  35.       AND (UPPER(TYPEDESC) LIKE '%MARKUP%' OR UPPER(TYPEDESC) LIKE '%TAX%' 
  36.       OR (UPPER(TYPEDESC) LIKE '%PSTN%' AND TYPE_ID_USG LIKE '%2')) 
  37.       AND ROWNUM=1),A.UNITS,0
  38.     ) units
  39. FROM (SELECT /*+ ordered*/       CB.ACCOUNT_NO,
  40.       CB.SUBSCR_NO,
  41.       CB.SUBSCR_NO_RESETS,
  42.       CB.BILL_REF_NO,
  43.       CB.BILL_REF_RESETS,
  44.       CB.TYPE_ID_USG,
  45.       CD.JURISDICTION,
  46.       SUM(CB.BILLED_AMOUNT)/100  BILLED_AMOUNT,
  47.       SUM(CB.DISCOUNT)/100 DISCOUNT,
  48.       SUM(PRIMARY_UNITS) SOU,
  49.       SUM(CD.RATED_UNITS) UNITS
  50.       FROM 
  51.           CD_CU4@CU4 CD,
  52.           CB_CU4@CU4 CB
  53.      WHERE CD.CDR_DATA_PARTITION_KEY=CB.CDR_DATA_PARTITION_KEY
  54.      AND CD.MSG_ID=CB.MSG_ID
  55.      AND CD.MSG_ID2=CB.MSG_ID2
  56.      AND CD.MSG_ID_SERV=CB.MSG_ID_SERV
  57.      AND CD.SPLIT_ROW_NUM=CB.SPLIT_ROW_NUM
  58.      AND (CB.BILL_REF_NO,CB.BILL_REF_RESETS) IN (SELECT BILL_REF_NO,BILL_REF_RESETS FROM KK_MOU_DUMP_CU4)
  59.      GROUP BY          CB.ACCOUNT_NO,
  60.          CB.SUBSCR_NO,
  61.          CB.SUBSCR_NO_RESETS,
  62.          CB.BILL_REF_NO,
  63.          CB.BILL_REF_RESETS,
  64.          CB.TYPE_ID_USG,
  65.          CD.JURISDICTION) A);
  66.  
Reply

Tags
cursor subquery, oracle cursor