ORA-01427: einreihig subquery returns multiple rows
I've been off queries running for awhile, and this error is making me take what I left little hair. I searched and found a lot of topics about this, but it does not appear to meet this request. Rather than continue blabbering...
SELECT THE DME. ITEM_Description, IMPC. ITEM_NUM
Y2006 as Sum2006, Y2007 as Sum2007, Y2008 as Sum2008, as Sum2009, as Sum2010 Y2010 Y2009
,(Select Y2011)
of TestDB.Book_Sect02_ImpleCosts, TestDB.Book_Sect02_ImpleDesc
where recommended = 'PM' and BUDGETTYPE = 'MDY' and BUDGETFY = 2016
and shareby = 'ME' and recommended in (select TestDB.Book_Recommendations recommended)
and Book_Sect02_ImpleCosts.ITEM_NUM = Book_Sect02_ImpleDesc.ITEM_NUM
and Book_Sect02_ImpleDesc.Item_Description = DME. Item_Description) as Sum2011
OF IMPC, TestDB.Book_Sect02_ImpleDesc DME TestDB.Book_Sect02_ImpleCosts
WHERE the recom = 'PM' and BUDGETTYPE = 'DMY' and BUDGETFY = 2016
and shareby = 'ME' and recommended in (select TestDB.Book_Recommendations recommended)
and IMPC. ITEM_NUM = DME. ITEM_NUM
ORDER OF IMPC. ITEM_NUM;
Basically, I want to find and eliminate the duplicate line, but I'm not. The other problem is, I have no direct access to the database. I am a contractor and must be based on e-mailing a DBA Government to execute the query for me. Thank you in advance.
Considering the hoops I need to jump through to solve this problem, it is clear to me... the error does not occur, with the same query on my Production System and it does on my Test System. I have requested that data be deleted at the Test and updated with Production data. I hope that this will solve the problem. I need to keep the data, because it's test, so hopefully this will allow me to move forward. Thank you all for your help.
Tags: Database
Similar Questions
-
Why this sql returns ORA-01427: einreihig subquery returns multiple rows.
Select
case when 'Y'=(select emp_sw
of the customer
where cust_co_num = :custconum )
then ( Select cust_id from )
client where
cust_co_num = :custconum
)
on the other
(select...)
end while pays_id
of the double
or any other solution for this?
Thank you!!
Maybe
with
data in the form of
(select cust_id 100, 'Y' emp_sw, 1 cust_co_num of all the double union)
Select 200, "n", 1 Union double all the
Select 300, 'Y', 3 double Union all
Select 400, ', 2 double
)
Select cust_id, emp_sw, cust_co_num
data d
where cust_id = case when exists (select null
from the data
where cust_co_num =: custconum
and emp_sw = 'Y '.
)
then cust_id
end
or cust_id in (select cust_id
from the data
where cust_co_num =: custconum
and emp_sw = n
)
Concerning
Etbin
-
"ORA-01427: einreihig subquery returns more than one line.
Hi all
I have a SQL query where I need a subquery for certain fields (like fields are optional), and the thing is some of the subqueries are works well, but when I use some, it gives me an error * "ORA-01427: einreihig subquery returns more rows" *, so I looked to the top of the internet and found if I give *' and rownum = 1' * in the subquery ". It eliminates the error and there certainly, but the thing is I have test the XML data. I have two addresses that should appear on the report and both follow the same path, but one is required optional and another so I put the option in the subquery, but in the XML data, I see that both addresses are the same, but they need to be different, because the status of the relationship with that I question is different. I ALSO POST MY SQL so that if anyone of you has an idea can help out me. Once more, the sql, I put here has the SQL subqueries with ' and rownum = 1', which gives me bad output
Select S_FN_INCEXP_CON. RELATION_TYPE_CD as RELATION_TYPE_CD,
S_ORDER. ORDER_NUM as ORDER_NUM,
S_ORDER. FRGHT_AMT as FRGHT_AMT,
S_ORDER. ORDER_DT as ORDER_DT,
S_ORDER. CARRIER_CD as CARRIER_CD,
S_ORDER. CARRIER_PRIO_CD as CARRIER_PRIO_CD,
S_ORDER. ACCNT_ORDER_NUM as ACCNT_ORDER_NUM,
S_CONTACT. FST_NAME as FST_NAME,
S_CONTACT. Last_name like LAST_NAME,
S_ADDR_PER. ADDR_NAME as ADDR_NAME-> it's the address required
S_ADDR_PER. POSTAL CODE such as POSTAL code,
S_CON_ADDR. ADDR_MAIL_CD as ADDR_MAIL_CD,
S_ADDR_PER. EMAIL_ADDR as EMAIL_ADDR,
S_ADDR_PER. PH_NUM as PH_NUM,
S_SRC_PAYMENT. PAYMENT_NUM as PAYMENT_NUM,
S_ORDER. STATUS_CD as STATUS_CD,
(select S_FN_INCEXP_CON_1.RELATION_TYPE_CD
of SIEBEL. S_CONTACT S_CONTACT_1,
SIEBEL. S_FN_INCEXP_CON S_FN_INCEXP_CON_1
where S_ORDER. ROW_ID = S_FN_INCEXP_CON_1.FN_INCM_EXP_ID
and S_FN_INCEXP_CON_1.CONTACT_ID = S_CONTACT_1.ROW_ID
and S_FN_INCEXP_CON_1.RELATION_TYPE_CD! = ALL ('Donor', 'Notified Party', ' in memory of ', ' in honor of ')) RELATION_TYPE_CD_1
, (select S_CONTACT_1.FST_NAME |') '|| S_CONTACT_1.LAST_NAME
of SIEBEL. S_CONTACT S_CONTACT_1,
SIEBEL. S_FN_INCEXP_CON S_FN_INCEXP_CON_1
where S_ORDER. ROW_ID = S_FN_INCEXP_CON_1.FN_INCM_EXP_ID
and S_FN_INCEXP_CON_1.CONTACT_ID = S_CONTACT_1.ROW_ID
and S_FN_INCEXP_CON_1.RELATION_TYPE_CD! = ALL ('Donor', 'Notified Party', ' in memory of ', ' in honor of ')) NAME.
(select S_ORDER_TYPE.NAME
of SIEBEL. S_ORDER_TYPE S_ORDER_TYPE
where S_ORDER. ORDER_TYPE_ID = S_ORDER_TYPE. ROW_ID
and S_ORDER_TYPE.NAME = 'Général'), GENERAL
(select S_ORDER_TYPE.NAME
of SIEBEL. S_ORDER_TYPE S_ORDER_TYPE
where S_ORDER. ORDER_TYPE_ID = S_ORDER_TYPE. ROW_ID
and S_ORDER_TYPE.NAME = 'Memory') MEMORY,
(select S_ORDER_TYPE.NAME
of SIEBEL. S_ORDER_TYPE S_ORDER_TYPE
where S_ORDER. ORDER_TYPE_ID = S_ORDER_TYPE. ROW_ID
and S_ORDER_TYPE.NAME = 'Honour') HONOR,.
(select S_FN_INCEXP_CON_1.RELATION_TYPE_CD
of SIEBEL. S_CONTACT S_CONTACT_1,
SIEBEL. S_FN_INCEXP_CON S_FN_INCEXP_CON_1
where S_ORDER. ROW_ID = S_FN_INCEXP_CON_1.FN_INCM_EXP_ID
and S_FN_INCEXP_CON_1.CONTACT_ID = S_CONTACT_1.ROW_ID
and S_FN_INCEXP_CON_1.RELATION_TYPE_CD = ' in memory of ') R1,.
(select S_FN_INCEXP_CON_1.RELATION_TYPE_CD
of SIEBEL. S_CONTACT S_CONTACT_1,
SIEBEL. S_FN_INCEXP_CON S_FN_INCEXP_CON_1
where S_ORDER. ROW_ID = S_FN_INCEXP_CON_1.FN_INCM_EXP_ID
and S_FN_INCEXP_CON_1.CONTACT_ID = S_CONTACT_1.ROW_ID
and S_FN_INCEXP_CON_1.RELATION_TYPE_CD = ' in honor of ") R2,.
(select S_FN_INCEXP_CON_1.RELATION_TYPE_CD
of SIEBEL. S_CONTACT S_CONTACT_1,
SIEBEL. S_FN_INCEXP_CON S_FN_INCEXP_CON_1
where S_ORDER. ROW_ID = S_FN_INCEXP_CON_1.FN_INCM_EXP_ID
and S_FN_INCEXP_CON_1.CONTACT_ID = S_CONTACT_1.ROW_ID
and S_FN_INCEXP_CON_1.RELATION_TYPE_CD = 'notified Party') R3.
(select S_ADDR_PER. ADDR_NAME | ',' | S_ADDR_PER. Zip code
of SIEBEL. S_ADDR_PER S_ADDR_PER,
SIEBEL. S_CON_ADDR S_CON_ADDR,
SIEBEL. S_CONTACT S_CONTACT_1,
SIEBEL. S_FN_INCEXP_CON S_FN_INCEXP_CON_1
where S_ORDER. ROW_ID = S_FN_INCEXP_CON_1.FN_INCM_EXP_ID
and S_FN_INCEXP_CON_1.CONTACT_ID = S_CONTACT_1.ROW_ID
and S_CONTACT. ROW_ID = S_CON_ADDR. CONTACT_ID
and S_CON_ADDR. ADDR_PER_ID = S_ADDR_PER. ROW_ID
and rownum = 1
and S_FN_INCEXP_CON_1.RELATION_TYPE_CD IN 'Notified Party') NP_ADDR-> it's the optional address
(select S_PARTY_REL. REL_TYPE_CD
of SIEBEL. S_PARTY_REL S_PARTY_REL,
SIEBEL. S_CONTACT S_CONTACT_1,
SIEBEL. S_FN_INCEXP_CON S_FN_INCEXP_CON_1
where S_ORDER. ROW_ID = S_FN_INCEXP_CON_1.FN_INCM_EXP_ID
and S_FN_INCEXP_CON_1.CONTACT_ID = S_CONTACT_1.ROW_ID
and S_PARTY_REL. REL_PARTY_ID = S_CONTACT_1.ROW_ID
and S_FN_INCEXP_CON_1.RELATION_TYPE_CD = ' in memory of ') RLNSHIP
of SIEBEL. S_CONTACT S_CONTACT,
SIEBEL. S_FN_INCEXP_CON S_FN_INCEXP_CON,
SIEBEL. S_ORDER S_ORDER,
SIEBEL. S_ADDR_PER S_ADDR_PER,
SIEBEL. S_CON_ADDR S_CON_ADDR,
SIEBEL. S_SRC_PAYMENT S_SRC_PAYMENT
where S_ORDER. ROW_ID = S_FN_INCEXP_CON. FN_INCM_EXP_ID
and S_FN_INCEXP_CON. CONTACT_ID = S_CONTACT. ROW_ID
and S_CONTACT. ROW_ID = S_CON_ADDR. CONTACT_ID
and S_CON_ADDR. ADDR_PER_ID = S_ADDR_PER. ROW_ID
and S_FN_INCEXP_CON. RELATION_TYPE_CD = 'donor '.
and S_SRC_PAYMENT. ORDER_ID = S_ORDER. ROW_IDUse
' and S_CONTACT_1.ROW_ID = S_CON_ADDR. CONTACT_ID'
your 3rd condition in where clause.So it would be to get the address of the 'notified part' information instead of the donor
-
einreihig subquery returns multiple rows
Hello
In the sub query, I get the error "ORA-01427: einreihig subquery returns more than one line. In this query below, I must also display only the bsr_ind_id from rm_cust where are.bsr_borr_ctg_id = '1' and also all cust_name and client_id
How can I modify this query?
Select cust_name
client_id
, (select bsr_ind_id from rm_cust r where are.bsr_borr_ctg_id = '1') as "SSB".
of rm_custI haven't used the pivotal enough to help with that without doing some research which I do not have time for this moment. But back to your original problem: there is obviously more than 1 line in rm_cust with bsr_borr_ctg_id = '1', so what one do you? You can guarantee that you will not get the error if you use:
select cust_name ,client_id ,(select max(bsr_ind_id) from rm_cust r where r.bsr_borr_ctg_id = '1') as "BSR" from rm_cust
Or you can use min max. Either avoid the error you get. If both give you the same result, then that is what you need. If they give different results, then you need to determine what (if) is correct.
-
updated - einreihig subquery returns multiple rows
I'm trying to update the values in a column in a table to match the value in a table of validation/look-up. Why do I get an error with this sql?
UPDATE TABLE_A
SET field_x = (SELECT field_x
OF TABLE_B, TABLE_A
WHERE TABLE_A.field_Y = TABLE_A.field_Y)
WHERE THERE ARE
(SELECT field_x
OF TABLE_B, TABLE_A
WHERE TABLE_A.field_Y = TABLE_A.field_Y)
I get the error "einreihig subquery returns several lines.
I can run the subquery only without any problem.
ideas?Hello
You get this error becauseYour request
SELECT field_x FROM TABLE_B, TABLE_A WHERE TABLE_A.field_Y = TABLE_A.field_Y
Returns a value greater than 1 for field_x.
You may wan to check your data.Now, it depends entirely on your data if the following query will work ok or not?
Try thisUPDATE TABLE_A SET field_x = (SELECT field_x FROM TABLE_B WHERE TABLE_A.field_Y = TABLE_A.field_Y) WHERE EXISTS (SELECT field_x FROM TABLE_B WHERE TABLE_A.field_Y = TABLE_A.field_Y)
Kind regards
BobinPublished by: Buga added second query
-
Hi Jeff,
I use the ai2 since September 13 and I got this error when I run several reports from the RAC (2 knots) databases.
For ex. in the DBA Panel, according to the Performance option, when I try to launch ASHES for las 5 minutes, the ORA-01427 out immediately.
I want just to be sure you're already aware of this problem and taken into account for the next version.
Thanks in advance,
Andraly Ng
EA3 just came out a few hours ago - have a go at it and let us know what you think!
-
Error: einreihig subquery returns multiple rows
Hai All
I have two tables namely Daily_attend, Train_mast
The Daily_attend are made up of fields are Train_mast are made up of fields are
Name varchar form no var
Date of empcode Num V_DATE
Intimate Date Train_name var
Outtime date Late_hrs var
Number IND_IN
Number IDE_OUT
Date of Attend_date
I need to update the table Depend of IDE_IN in Daily_attend in late_hrs in the Train_mast table
I got through in the select statement, it is my select statement
Select to_number (TO_DATE (TO_CHAR(Intime,'DD-MON-YYYY') |)) » '||
To_char (0815, '0000'), 'MON-DD-YYYY HH24') + late_hrs /(24*60)-respondent
) * 24 * 60 dail_Att, train_mast;
How can I convert to update
Any help is highly appricateable
Thanks in advance
Concerning
Srikkanth.M
Published by: Srikkanth.M on April 13, 2010 10:21If empcode is the primary key in your table of daily_att and attend_date = V_DATE returns only one row per employee
then try this
update dail_att d set d.idein =(select to_number(TO_DATE(TO_CHAR(Intime,'DD-MON-YYYY')||' '|| TO_CHAR(0815,'0000'),'DD-MON-YYYY HH24:MI')+late_hrs/(24*60)-intime) * 24*60 from dail_Att,train_mast where attend_date =t_date AND empcode = d.empcode)
Kind regards
Prazy -
Help in the treatment of "subquery returns multiple rows.
Appreciate your help on this.
I have under sql query fails with the error "ORA-01427: einreihig subquery returns multiple lines"
WITH t AS (SELECT 'A' Col1, 'B' Col2, 'C' Col3 FROM DUAL UNION SELECT 'D', 'E', 'F' FROM DUAL UNION SELECT 'E', 'F', 'G' FROM DUAL UNION SELECT 'A', 'T', 'U' FROM DUAL), t1 AS (SELECT 'A' Col1, 'B' Col2, 'C' Col3 FROM DUAL UNION SELECT 'D1', 'E1', 'F1' FROM DUAL UNION SELECT 'D', 'E', 'F' FROM DUAL UNION SELECT 'S', 'V', 'W' FROM DUAL), t2 AS (SELECT 'A' Col1, 'B' Col2, 'C' Col3 FROM DUAL UNION SELECT 'A', 'E1', 'F1' FROM DUAL UNION SELECT 'D', 'E', 'F' FROM DUAL) SELECT t.col1, (SELECT distinct col2 FROM t2 WHERE t2.col1 = t.col1) RND_COL FROM t, t1 WHERE t.col1 = t1.col1 WhenI checked the count using below query WITH t AS (SELECT 'A' Col1, 'B' Col2, 'C' Col3 FROM DUAL UNION SELECT 'D', 'E', 'F' FROM DUAL UNION SELECT 'E', 'F', 'G' FROM DUAL UNION SELECT 'A', 'T', 'U' FROM DUAL), t1 AS (SELECT 'A' Col1, 'B' Col2, 'C' Col3 FROM DUAL UNION SELECT 'D1', 'E1', 'F1' FROM DUAL UNION SELECT 'D', 'E', 'F' FROM DUAL UNION SELECT 'S', 'V', 'W' FROM DUAL), t2 AS (SELECT 'A' Col1, 'B' Col2, 'C' Col3 FROM DUAL UNION SELECT 'A', 'E1', 'F1' FROM DUAL UNION SELECT 'D', 'E', 'F' FROM DUAL) SELECT t.col1, (SELECT count(col2) FROM t2 WHERE t2.col1 = t.col1) RND_COL FROM t, t1 WHERE t.col1 = t1.col1 (+) it shows as below ----------------- COL1 RND_COL A 2 A 2 D 1 E 0 My Requirement is for all the values in the column 'RND_COL' > 1 it should display text as 'Multiple', for 'RND_COL' = 1 display actual value returned by sub query and 'RND_COL' = 0 display it as NULL. expected output ------------------- COL1 RND_COL A Multiple A Multiple D E E NULL
Hello
Here's another way. It's like the solution in response #1, but it does not use a subquery:
SELECT t.col1
CASE
WHEN COUNT (DISTINCT t2.col2) > 1
THEN "Multiple."
For ANOTHER MIN (t2.col2)
END AS rnd_col
T
LEFT OUTER JOIN t2 ON t2.col1 = t.col1
GROUP OF t.col1, t.col2, t.col3
ORDER BY t.col1
;
This assumes that in table t (col1, col2, col3) combination is unique. If theat is not the case, change the GROUP BY clause, but you need to ensure that all lines of t becomes a separate group.
-
single line sub query returns multiple rows
Hi, please help me to solve this, working with oracle 11g.
Update t1 set t1.twyindex = twypoly (select twyindex from twyinfo where t1.id = t2.id t2);
the error message is:
*
ERROR on line 1:
ORA-01427: einreihig subquery returns multiple rows
Thank youdon123 wrote:
Hi paul, thanks...duplicate existing due to the business logic data.
can I use the SQL mentioned above for all cases?
is it mandatory to remove duplicates?
Please provide your suggestions...
If the company says duplicates are allowed, you have to ask the person who wants what, of the different twyindexes, that they want to use
updating twyinfo table...I use the SQL proposed until they tell you that twyindex to use.
-
01427 00000 - "einreihig subquery returns several lines.
Hi all
How can I solve it
This code gives me this errorSELECT v.code ,v.bar_code ,v.arb_name ,v.eng_name ,v.branch_no ,(SELECT sum(quantity) FROM viw_whs_items_movement GROUP BY branch_no) FROM viw_whs_items_movement V
01427 00000 - "einreihig subquery returns several lines.
I know that I have more value, but I need this value
Result group
SELECT sum(v.quantity) FROM viw_whs_items_movement v GROUP BY v.branch_no ########################## SUM(V.QUANTITY) --------------- 114453 2501 8137 13270 15230 120626 22536 2926 12848 37509 20911 7503 6248 17221 462 24 15041 10307 12524 526627 10564 8230 13204 2840 80769 1418238 215694 15238 5063 104187 913 147079 11293 12678 18855 35 rows selected
Must be scalar subqueries. You demonstrate your subquery returns more than one line. Where the error.
A solution would be to establish a correlation between the results of the subquery by joining the branch_id with branch_id of the outer query. However, as the two queries use the same table, you can simply use an analytical SUM():
SELECT v.code ,v.bar_code ,v.arb_name ,v.eng_name ,v.branch_no ,sum(quantity) over (partition by branch_no) as branch_tot FROM viw_whs_items_movement V
Cheers, APC
-
Einreihig subquery returns more than one query
Hello
I get the following error: einreihig subquery returns more than one request. I don't know how I should debug this application. As far as I know, subqueries can return only 1 row...: S
I've only Oracle SQL Developer to run/test of my queries. I can run the query with ROWNUM < 5000, which gives no error. If I run with ROWNUM > 5000 and ROWNUM < 6000 then the error pops up...
This is the query:
Published by: layout of the code user574699 on November 17, 2008 02:10with DATES as (select (select min(REC_DATE) from STOCK) as FROM_DT, (select max(CHANGE_DATE) from STOCK_ADJUST) as TO_DT from DUAL), MONTHS as (select add_months(trunc(FROM_DT,'MM'),ROWNUM-1) as DT from DATES connect by ROWNUM <= months_between(TO_DT, FROM_DT)+1), CALCULATIONS as (select PNM.PNM_AUTO_KEY PNM_KEY, MONTHS.DT DT, NVL((select sum(stm.qty_rec) from stock stm WHERE STM.REC_DATE < MONTHS.DT AND STM.PNM_AUTO_KEY = PNM.PNM_AUTO_KEY GROUP BY pnm_auto_key),0) INCOMING, NVL((select sum(saj.qty_adj) from stock_adjust saj inner join stock stm on saj.stm_auto_key = stm.stm_auto_key inner join parts_master pnm on stm.pnm_auto_key = pnm.pnm_auto_key where SAJ.CHANGE_DATE < MONTHS.DT AND STM.PNM_AUTO_KEY = PNM.PNM_AUTO_KEY group by pnm_auto_key),0) OUTGOING from MONTHS, PARTS_MASTER PNM) SELECT ROWNUM, CALCULATIONS.PNM_KEY PNM_AUTO_KEY, CALCULATIONS.DT COUNT_DATE,CALCULATIONS.INCOMING QTY_RECEIVED, CALCULATIONS.OUTGOING QTY_USED, (CALCULATIONS.INCOMING + CALCULATIONS.OUTGOING) QTY_BALANCE FROM CALCULATIONS;
the problem is that you use the same alias in your view online as well as in your main query in the second statement-nvl...
HTH
-
ORA-01422 exactly fetch returned more rows than expected
Hi all
Some1 can you please suggest what is the difference between "ORA-01422 exactly fetch returned more rows than expected" and too many errors of lines.
Concerning
ArpitTOO_MANY_ROWS is a predefined exception that allows to capture the ORA-01422. It simply means that we don't need to declare our own exception to cope.
SQL> DECLARE 2 3 lv_Dummy dual.dummy%TYPE; 4 5 BEGIN 6 7 SELECT 8 dummy 9 INTO 10 lv_Dummy 11 FROM 12 ( SELECT dummy FROM DUAL UNION ALL 13 SELECT dummy FROM DUAL 14 ); 15 END; 16 / DECLARE * ERROR at line 1: ORA-01422: exact fetch returns more than requested number of rows ORA-06512: at line 7 SQL> set serveroutput on SQL> DECLARE 2 3 lv_Dummy dual.dummy%TYPE; 4 5 BEGIN 6 7 SELECT 8 dummy 9 INTO 10 lv_Dummy 11 FROM 12 ( SELECT dummy FROM DUAL UNION ALL 13 SELECT dummy FROM DUAL 14 ); 15 EXCEPTION 16 WHEN TOO_MANY_ROWS THEN 17 dbms_output.put_line('TOO_MANY_ROWS is built in exception to allow us to capture ORA-01422'); 18 19 END; 20 / TOO_MANY_ROWS is built in exception to allow us to capture ORA-01422 PL/SQL procedure successfully completed. SQL> DECLARE 2 3 lv_Dummy dual.dummy%TYPE; 4 lex_TooManyRows EXCEPTION; 5 6 PRAGMA EXCEPTION_INIT(lex_TooManyRows, -1422); 7 BEGIN 8 9 SELECT 10 dummy 11 INTO 12 lv_Dummy 13 FROM 14 ( SELECT dummy FROM DUAL UNION ALL 15 SELECT dummy FROM DUAL 16 ); 17 EXCEPTION 18 WHEN lex_TooManyRows THEN 19 dbms_output.put_line('lex_TooManyRows is our exception to allow us to capture ORA-01422'); 20 21 END; 22 / lex_TooManyRows is our exception to allow us to capture ORA-01422 PL/SQL procedure successfully completed.
HTH
David
-
Basically, I have two tables:
We have CUS_NO, AS_OF_DATE, AVG_AMT, CLOSING_BALANCE and DATE_JOINED
In this table, AVG_AMT is empty
Second table has CUS_NO, AS_OF_DATE and AVG_AMT
The average amt can be + ve - ve or both.
I do an update like this:
Update table1 set AVG_AMT = (select AVG_AMT from table2 where table1. CUS_NO = table2. CUS_NO)
With this, I get the error "single subquery returns more rows" which is just, because some customers have two EV - and + ve AVG_AMT
How would you advise me to tackle this problem?
For example: If Table1
CUS_NO DATE_JOINED CLOSING_BALANCE AS_OF_DATE AVG_AMT
123 10/10/09 12345 10/10/09 < NULL >
and the table2
CUS_NO AS_OF_DATE AVG_AMT
123 10/10/09 2000
123-10/10/09-400
The end result should be
CUS_NO DATE_JOINED CLOSING_BALANCE AS_OF_DATE AVG_AMT
123 10/10/09 12345 10 / 10 / 0 2000
123 10/10/09 12345 10/10/09-400Double Post.
Kind regards.
LOULOU.
Published by: Satyaki_De on November 19, 2009 17:35
-
subquery returns no row in the main query, but hard returns the value of the master query
Oracle 11g, Solaris SPARC 64-bit:
This is the master query: its not to return all the lines
Select count (*) in the sadmin.usr_mods where to_char (ts_id) in ((select to_char (rtrim (ltrim(TS_MODULES,','), ',')) in the sadmin.usr_rfc where TS_KINTANA_PACKAGE_NUMBER = '123' and ts_projectid = 3));
COUNT (*)
----------
0
But wherever if I use subquery only returns he lines:
SQL > select rtrim (ltrim(TS_MODULES,','), ',') from the sadmin.usr_rfc where TS_KINTANA_PACKAGE_NUMBER = '123' and ts_projectid = 3;
RTRIM (LTRIM(TS_MODULES,','), ',')
--------------------------------------------------------------------------------
49,54
If I use these values as hardcoded to a select master it will return 2 rows:
SQL > select count (*) in the sadmin.usr_mods where to_char (ts_id) in ('49 ', ' 54');
COUNT (*)
----------
2
TS_MODULES datatype is CLOB
TS_ID datatype is set to number
Help, please
with
usr_rfc as
(select 3 ts_projectid, 123 ts_kintana_package_number, to_clob(',49,54,') ts_modules
of the double
),
usr_mods as
(select ts_id 49 Union double all the)
Select 50 in all double union
Select double 54
)
Select count (*)
of usr_mods
where to_char (ts_id) in (select regexp_substr (to_char (rtrim (ltrim(TS_MODULES,','), ',')),'[^,] +', 1, level))
of usr_rfc
where TS_KINTANA_PACKAGE_NUMBER = '123'
and ts_projectid = 3
connect by level<= regexp_count(to_char(rtrim(ltrim(ts_modules,','),',')),',')="" +="">=>
)
COUNT (*) 2 Concerning
Etbin
Select count (*)
of usr_mods
where instr ((select ',' | to_char (rtrim (ltrim(TS_MODULES,','), ',')) |)) ','
of usr_rfc
where TS_KINTANA_PACKAGE_NUMBER = '123'
and ts_projectid = 3
),
',' || TO_CHAR (TS_ID) | ','
) > 0
-
USERENV ('sessionid') returns multiple rows
Hello
Im trying to put in place a db trigger that will record all DDL operations on the db.
for which purpose the following statement is included in the trigger to return information about the user who wishes to make changes:
problem is that this statement returns multiple lines when 2 users are connected to the same database by using the same username for example SYS;select osuser, machine, process, program, AUDSID, sid, SERIAL# from v$session where AUDSID=USERENV('sessionid');
I see that audsid is the same for these 2 users, but the osuser, the machine etc. are different, so I can easily tell who is who.
How to distinguish these in the query to be able to capture only the actually executing the DDL operation?
ID appreciate any advice
Thank you very much
Rgdsselect osuser, machine, process, program, AUDSID, sid, SERIAL# from v$session where SID=USERENV('sid') /
Published by: JohnWatson on November 23, 2012 14:32
addedtags
Maybe you are looking for
-
How to copy the address book for the flash player
I select all, but can not copy on my flash drive
-
iPhone 6plus icloud imei no * icloud please Mr. ople < personal information under the direction of the host >
-
HP pavilion g7 2318sz windows 7, where can I find drivers for my PC Windows 7?
Hi, I have a problem with the installation drivers on my PC. I instaled Windows 7 on my HP pavilion 2318sz g7 and now I can not find drivers, and I instaled some drivers who are for my PC, but they do not work. Solution? Thank you!
-
Do a right mouse click on the name of the file causes Windows Explorer stop.
Do a right mouse click on the name of the file causes Windows Explorer stop.
-
destination folder access denied in external HARD disk
I have problem with my external hard drive on windows. I am running windows out of boot camp, my external hard drive had drivers mac and is the mac format what ever he calls. Here's the question, I can't access my hard drive on my other laptop window