|
Archives of the TeradataForumMessage Posted: Thu, 24 Aug 2006 @ 12:53:35 GMT
<-- Anonymously Posted: Thursday, August 24, 2006 08:07 --> Hi All My Apoloigies to you all regarding the formatting ... As far the query after breaking my head too much I have also found the answer to the query now ........ In the whole query all the tables were joined using a Inner Join and one of the table DP_SB_CA.X_RATE_HIST ( which has only 2000 records) was the one creating the problem. So I used a Left Join to join to that particular table after confirming with the Users and its working perfectly fine now .... and the explain plan is also consistent for all IN conditions For all of you to have a look at the same query and to provide any suggestion and for getting the answers consistently using Inner join itself I have placed the query again and the part it gives problem is commented as below *************************************************************** /* Doesn't Complete ,, Gives Error No More Spool Space */ /* Works Fine answer is in 2 mins*/ *************************************************************** ***************** QUERY *************** sel c.CA_Cross_Sell_Group As Pdt_Group, Count(Distinct a.main_acct_holder_party_id) #Customers, Count(Distinct a.account_num||a.account_modifier_num) #Placements, Sum(v0521.Event_Amt*cast(x_rate.global_to_source_currency_rate As decimal(10,5))) Sum_Rollover_Amt_SGD, Avg(v0521.Event_Amt*cast(x_rate.global_to_source_currency_rate As decimal(10,5))) Avg_Rollover_Amt_SGD From (sel Account_Num, Account_Modifier_Num, Main_Acct_Holder_Party_Id From VM_ME_TERM_DEPOSIT Where Period_ID='2006-07-31' And Last_Renewal_Dt>='2006-07-01' And Last_Renewal_Dt<='2006-07-31') a Join ( Select v0300.account_num, v0300.account_modifier_num,b.ca_cross_sell_group From V0300_AGREEMENT v0300 Join V0200_MAP v0200 On v0200.EDW_Value=v0300.Product_Id Join dp_sb_ca.pdt_group b On v0200.Source_Value=b.host_prod_id And v0200.Source_Number=b.Source_Number Where CA_Cross_Sell_Group In ('ACU Fixed Deposit','DBU Fixed Deposit') /* Doesn't Complete ,, Gives Error No More Spool Space */ -- Where CA_Cross_Sell_Group In ('ACU Fixed Deposit','DBU Fixed Deposit','' ) /* Works Fine answer is in 2 mins*/ -- Where CA_Cross_Sell_Group In ('ACU Fixed Deposit','DBU Fixed Deposit','Structured Deposit' ) /* Works Fine answer is in 2 mins*/ ) c on c.account_num = a.account_num and c.account_modifier_num = a.account_modifier_num Join (sel Party_Id, segment_desc From VM_ME_PARTY_INDIVIDUAL Where (segment_desc is Null Or segment_desc='Mass Individual') And period_id='2006-07-31' Union sel Party_Id, segment_desc From VM_ME_PARTY_ORGANISATION Where (segment_desc is Null Or segment_desc='Mass Individual') And period_id='2006-07-31') party On party.party_id=a.Main_Acct_Holder_Party_Id Join (sel event_id, account_num, account_modifier_num From V0504_ACCOUNT_EVENT) v0504 On v0504.account_num = a.account_num And v0504.account_modifier_num = a.account_modifier_num Join (sel event_id, event_start_dt, Event_Activity_Type_Cd From V0500_EVENT Where Event_Start_Dt>='2006-07-01' And Event_Start_Dt<='2006-07-31' And Event_Activity_Type_Cd In ('FD000104','ACU00121')) v0500 On v0500.event_id = v0504.event_id Join V0521_FINANCIAL_EVENT v0521 On v0521.Event_Id=v0504.event_id Join dp_sb_ca.x_rate_hist x_rate On Trim(x_rate.source_currency_cd)=v0521.Event_Currency_Cd And x_rate.period_id = '2006-07-31' group by 1
| ||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||
Copyright 2016 - All Rights Reserved | ||||||||||||||||||||||||||||||||||||||||||||||||
Last Modified: 15 Jun 2023 | ||||||||||||||||||||||||||||||||||||||||||||||||