Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 General SQL Server Forums
 New to SQL Server Programming
 Performance problem

Author  Topic 

sunsanvin
Master Smack Fu Yak Hacker

1274 Posts

Posted - 2007-05-14 : 03:29:20
Dear Folks,
The query is taking 30 Sec of time, can you please suggest some better way?

select * from (

SELECT COLUMN001 ACCOUNT_ID, COLUMN002 BRANCH_ID, COLUMN003 ACCOUNT_CODE, COLUMN004 ACCOUNT_NAME,
case when (select dbo.fgenaccbalance('34D0DB32-5F21-4E86-9AB2-6E30FBF25149' ,column001,getdate())) > 0 then
(select dbo.fgenaccbalance('34D0DB32-5F21-4E86-9AB2-6E30FBF25149',column001,getdate())) else 0 end as
[Net_Debit_Balance] , case when (select dbo.fgenaccbalance('34D0DB32-5F21-4E86-9AB2-6E30FBF25149',column001,getdate()))
< 0 then -(select dbo.fgenaccbalance( '34D0DB32-5F21-4E86-9AB2-6E30FBF25149',column001,getdate())) else 0 end as
[Net_Credit_Balance] , column005 ALIAS_NAME, COLUMN006 SHORT_NAME, COLUMN010 CONTROL_ACC1 ,COLUMN007 ACC_TYPE_ID,
COLUMN008 ACCGROUP_ID, COLUMN009 CG_ACCGROUP_ID, COLUMN010 CONTROL_ACC, COLUMN011 CONTROL_ACCTYPE, COLUMN012 BLOCKED,
COLUMN013 BUDGETED, COLUMN014 ACCOUNT_TYPE FROM OATABLE014 where ( COLUMN010 !='1' and COLUMN012 !='1'and
( COLUMN002 = '34d0db32-5f21-4e86-9ab2-6e30fbf25149' or COLUMN002 = 'ca43fabc-0ee0-4118-b541-9ef17b0f95e3' ) )
union
select COLUMN001 ACCOUNT_ID, COLUMN009 BRANCH_ID, COLUMN003 ACCOUNT_CODE, COLUMN004 ACCOUNT_NAME, case when
(select dbo.fSubAccBalance('34D0DB32-5F21-4E86-9AB2-6E30FBF25149' ,column001,getdate())) > 0 then
(select dbo.fSubAccBalance('34D0DB32-5F21-4E86-9AB2-6E30FBF25149',column001,getdate())) else 0 end as
[Net_Debit_Balance] , case when (select dbo.fSubAccBalance('34D0DB32-5F21-4E86-9AB2-6E30FBF25149',column001,getdate()))
< 0 then -(select dbo.fSubAccBalance( '34D0DB32-5F21-4E86-9AB2-6E30FBF25149',column001,getdate())) else 0 end as
[Net_Credit_Balance] , column005 ALIAS_NAME, COLUMN006 SHORT_NAME, COLUMN002 CONTROL_ACC1,COLUMN010 ACC_TYPE_ID, '-'
ACCGROUP_ID, COLUMN009 CG_ACCGROUP_ID, '-' CONTROL_ACC, '-' CONTROL_ACCTYPE, '-' BLOCKED, '-' BUDGETED,
'Cnt'+Convert(char(1),column010,001) ACCOUNT_TYPE from oatable030 ) TBL where (
( tbl.branch_id = '34d0db32-5f21-4e86-9ab2-6e30fbf25149' or tbl.branch_id = 'ca43fabc-0ee0-4118-b541-9ef17b0f95e3' )
and tbl.acc_type_id = 'C' ) order by tbl.account_name



Vinod
Even you learn 1%, Learn it with 100% confidence.

harsh_athalye
Master Smack Fu Yak Hacker

5581 Posts

Posted - 2007-05-14 : 03:42:32
No wonder!!

You are calling a function multiple times inside a case. Wrap function call inside the derived table and then apply the CASE statement over the contents of derived table to avoid repeated function calls.

Something like:

Select
ACCOUNT_ID,
BRANCH_ID,
ACCOUNT_CODE,
ACCOUNT_NAME,
case when Acc_Balance > 0 then Acc_Balance else 0 end as [Net_Debit_Balance],
case when Acc_Balance < 0 then (Acc_Balance * -1) else 0 end as [Net_Credit_Balance],
ALIAS_NAME,
SHORT_NAME,
CONTROL_ACC1,
ACC_TYPE_ID,
ACCGROUP_ID,
CG_ACCGROUP_ID,
CONTROL_ACC,
CONTROL_ACCTYPE,
BLOCKED,
BUDGETED,
ACCOUNT_TYPE
From
(
SELECT
COLUMN001 ACCOUNT_ID,
COLUMN002 BRANCH_ID,
COLUMN003 ACCOUNT_CODE,
COLUMN004 ACCOUNT_NAME,
dbo.fgenaccbalance('34D0DB32-5F21-4E86-9AB2-6E30FBF25149' ,column001,getdate()) as Acc_Balance
column005 ALIAS_NAME,
COLUMN006 SHORT_NAME,
COLUMN010 CONTROL_ACC1
,COLUMN007 ACC_TYPE_ID,
COLUMN008 ACCGROUP_ID,
COLUMN009 CG_ACCGROUP_ID,
COLUMN010 CONTROL_ACC,
COLUMN011 CONTROL_ACCTYPE,
COLUMN012 BLOCKED,
COLUMN013 BUDGETED,
COLUMN014 ACCOUNT_TYPE
FROM OATABLE014
where
COLUMN010 <> '1' and COLUMN012 <> '1' and
(COLUMN002 in ('34d0db32-5f21-4e86-9ab2-6e30fbf25149','ca43fabc-0ee0-4118-b541-9ef17b0f95e3'))
) t
Union
...


Harsh Athalye
India.
"The IMPOSSIBLE is often UNTRIED"
Go to Top of Page

sunsanvin
Master Smack Fu Yak Hacker

1274 Posts

Posted - 2007-05-14 : 04:27:16
This is great Idea Harsh

Vinod
Even you learn 1%, Learn it with 100% confidence.
Go to Top of Page

sunsanvin
Master Smack Fu Yak Hacker

1274 Posts

Posted - 2007-05-14 : 04:28:53
But Still Iwas unable to complete the query.Can you please write the complete query for me?


thank you very much

Vinod
Even you learn 1%, Learn it with 100% confidence.
Go to Top of Page

sunsanvin
Master Smack Fu Yak Hacker

1274 Posts

Posted - 2007-05-14 : 04:51:56
Harsh,
can you Please write the query for me please

Vinod
Even you learn 1%, Learn it with 100% confidence.
Go to Top of Page

SwePeso
Patron Saint of Lost Yaks

30421 Posts

Posted - 2007-05-14 : 05:01:36
Please try for yourself first.
Would you really have us to do your job for you?


Peter Larsson
Helsingborg, Sweden
Go to Top of Page

sunsanvin
Master Smack Fu Yak Hacker

1274 Posts

Posted - 2007-05-14 : 05:13:35
Sorry Peso,
but that query is a gaint for me.that is why I've asked again and again

Vinod
Even you learn 1%, Learn it with 100% confidence.
Go to Top of Page

sunsanvin
Master Smack Fu Yak Hacker

1274 Posts

Posted - 2007-05-14 : 05:46:56
Dear folks,
What is the wrong in my query?

Select
ACCOUNT_ID,
BRANCH_ID,
ACCOUNT_CODE,
ACCOUNT_NAME,
case when Acc_Balance > 0 then Acc_Balance else 0 end as [Net_Debit_Balance],
case when Acc_Balance < 0 then (Acc_Balance * -1) else 0 end as [Net_Credit_Balance],
ALIAS_NAME,
SHORT_NAME,
CONTROL_ACC1,
ACC_TYPE_ID,
ACCGROUP_ID,
CG_ACCGROUP_ID,
CONTROL_ACC,
CONTROL_ACCTYPE,
BLOCKED,
BUDGETED,
ACCOUNT_TYPE
From
(
SELECT
COLUMN001 ACCOUNT_ID,
COLUMN002 BRANCH_ID,
COLUMN003 ACCOUNT_CODE,
COLUMN004 ACCOUNT_NAME,
dbo.fgenaccbalance('34D0DB32-5F21-4E86-9AB2-6E30FBF25149' ,column001,getdate()) as Acc_Balance,
column005 ALIAS_NAME,
COLUMN006 SHORT_NAME,
COLUMN010 CONTROL_ACC1
,COLUMN007 ACC_TYPE_ID,
COLUMN008 ACCGROUP_ID,
COLUMN009 CG_ACCGROUP_ID,
COLUMN010 CONTROL_ACC,
COLUMN011 CONTROL_ACCTYPE,
COLUMN012 BLOCKED,
COLUMN013 BUDGETED,
COLUMN014 ACCOUNT_TYPE
FROM OATABLE014
where
COLUMN010 <> '1' and COLUMN012 <> '1' and
(COLUMN002 in ('34d0db32-5f21-4e86-9ab2-6e30fbf25149','ca43fabc-0ee0-4118-b541-9ef17b0f95e3'))
) t
UNION
SELECT

COLUMN001 ACCOUNT_ID,
COLUMN009 BRANCH_ID,
COLUMN003 ACCOUNT_CODE,
COLUMN004 ACCOUNT_NAME,
CASE WHEN ACC_BALANCE > 0 THEN ACC_BALANCE ELSE 0 END AS [NET_DEBIT_BALANCE],
CASE WHEN ACC_BALANCE < 0 THEN (ACC_BALANCE * -1) ELSE 0 END AS [NET_CREDIT_BALANCE],
ALIAS_NAME,
SHORT_NAME,
CONTROL_ACC1,
ACC_TYPE_ID,
ACCGROUP_ID,
CG_ACCGROUP_ID,
CONTROL_ACC,
CONTROL_ACCTYPE,
BLOCKED,
BUDGETED,
ACCOUNT_TYPE
FROM oatable030) tbl
where tbl.branch_id in('34d0db32-5f21-4e86-9ab2-6e30fbf25149', 'ca43fabc-0ee0-4118-b541-9ef17b0f95e3' )
and tbl.acc_type_id = 'C' order by tbl.account_name

Vinod
Even you learn 1%, Learn it with 100% confidence.
Go to Top of Page

SwePeso
Patron Saint of Lost Yaks

30421 Posts

Posted - 2007-05-14 : 05:50:21
ACC_BALANCE is the name of the COLUMN from the DERIVED TABLE!
You should use the function as Harsh described to you even for the second part of the select statement (below the UNION).


Peter Larsson
Helsingborg, Sweden
Go to Top of Page

SwePeso
Patron Saint of Lost Yaks

30421 Posts

Posted - 2007-05-14 : 06:04:45
[code]SELECT d.ACCOUNT_ID,
d.BRANCH_ID,
d.ACCOUNT_CODE,
d.ACCOUNT_NAME,
CASE WHEN AccBalance > 0 THEN AccBalance ELSE 0 END AS Net_Debit_Balance,
CASE WHEN AccBalance < 0 THEN ABS(AccBalance) ELSE 0 END AS Net_Credit_Balance,
d.ALIAS_NAME,
d.SHORT_NAME,
d.CONTROL_ACC1,
d.ACC_TYPE_ID,
d.ACCGROUP_ID,
d.CG_ACCGROUP_ID,
d.CONTROL_ACC,
d.CONTROL_ACCTYPE,
d.BLOCKED,
d.BUDGETED,
d.ACCOUNT_TYPE
FROM (
SELECT COLUMN001 AS ACCOUNT_ID,
COLUMN002 AS BRANCH_ID,
COLUMN003 AS ACCOUNT_CODE,
COLUMN004 AS ACCOUNT_NAME,
dbo.fGenAccBalance(COLUMN002, COLUMN001, CURRENT_TIMESTAMP) AS AccBalance,
COLUMN005 AS ALIAS_NAME,
COLUMN006 AS SHORT_NAME,
COLUMN010 AS CONTROL_ACC1,
COLUMN007 AS ACC_TYPE_ID,
COLUMN008 AS ACCGROUP_ID,
COLUMN009 AS CG_ACCGROUP_ID,
COLUMN010 AS CONTROL_ACC,
COLUMN011 AS CONTROL_ACCTYPE,
COLUMN012 AS BLOCKED,
COLUMN013 AS BUDGETED,
COLUMN014 AS ACCOUNT_TYPE
FROM OATABLE014
WHERE COLUMN010 <> '1'
AND COLUMN012 <> '1'
AND COLUMN002 IN ('34d0db32-5f21-4e86-9ab2-6e30fbf25149', 'ca43fabc-0ee0-4118-b541-9ef17b0f95e3')
AND COLUMN007 = 'C'

UNION

SELECT COLUMN001,
COLUMN009,
COLUMN003,
COLUMN004,
dbo.fSubAccBalance(COLUMN009, COLUMN001, CURRENT_TIMESTAMP),
COLUMN005,
COLUMN006,
COLUMN002,
COLUMN010,
'-',
COLUMN009,
'-',
'-',
'-',
'-',
'Cnt' + CAST(COLUMN010 AS CHAR)
FROM oatable030
WHERE COLUMN009 IN ('34d0db32-5f21-4e86-9ab2-6e30fbf25149', 'ca43fabc-0ee0-4118-b541-9ef17b0f95e3')
AND COLUMN010 = 'C'
) AS d
ORDER BY d.ACCOUNT_NAME[/code]Now go tell your manager you're done with the task for this week.


Peter Larsson
Helsingborg, Sweden
Go to Top of Page

sunsanvin
Master Smack Fu Yak Hacker

1274 Posts

Posted - 2007-05-14 : 06:15:26
Thank you very much peso, Actually this is my friend's work, he is a developer in crystal reports.I'm a junior DBA. my friend asked for the help, another friend Peso did that help for me.

thank you expert

Vinod
Even you learn 1%, Learn it with 100% confidence.
Go to Top of Page

sunsanvin
Master Smack Fu Yak Hacker

1274 Posts

Posted - 2007-05-14 : 06:17:12
Dear Peso, But I didnt get the output. no rows were generated with this query.I dont know what happend

Vinod
Even you learn 1%, Learn it with 100% confidence.
Go to Top of Page

SwePeso
Patron Saint of Lost Yaks

30421 Posts

Posted - 2007-05-14 : 06:28:47
See my edited answer.
Change the appropriate WHERE, marked with red color.


Peter Larsson
Helsingborg, Sweden
Go to Top of Page

sunsanvin
Master Smack Fu Yak Hacker

1274 Posts

Posted - 2007-05-14 : 06:32:04
Peso is Always Great

thank you Peso, it has taken 12 sec now. reduced from 30 sec to 12 sec.

thank you very much

Vinod
Even you learn 1%, Learn it with 100% confidence.
Go to Top of Page

SwePeso
Patron Saint of Lost Yaks

30421 Posts

Posted - 2007-05-14 : 06:35:39
I am sure the query can be run faster.
Post the code for the fGenAccBalance function and fSubAccBalance function.


Peter Larsson
Helsingborg, Sweden
Go to Top of Page

sunsanvin
Master Smack Fu Yak Hacker

1274 Posts

Posted - 2007-05-14 : 06:41:35
--- Here is the function (fGenAccBalance )




CREATE FUNCTION fGenAccBalance (@inBranchId VARCHAR(50), @inAccountId VARCHAR(50), @inAsOnDate DATETIME)
RETURNS DECIMAL(34,4)
AS
BEGIN
DECLARE @strOpDate AS CHAR(10)
DECLARE @strGetFrom AS CHAR(2)
DECLARE @dblOpBalance AS DECIMAL(34,4)

-- Getting Recent Closure date from Account Period Balance
SELECT TOP 1 @strGetFrom = 'PB', @strOpDate = CONVERT(CHAR(10),COLUMN004,120) FROM OATABLE066 apb
WHERE COLUMN003 = @inBranchId AND CONVERT(CHAR(10),COLUMN004,120) <= CONVERT(CHAR(10),@inAsOnDate,120)
ORDER BY COLUMN004 DESC

-- If no records in Account Period Balance, Getting from Account Opening Balance
IF (@@ROWCOUNT=0)
BEGIN
SELECT TOP 1 @strGetFrom = 'OB', @strOpDate = CONVERT(CHAR(10),COLUMN005,120) FROM OATABLE044 aob
WHERE COLUMN010 = @inBranchId AND CONVERT(CHAR(10),COLUMN005,120) <= CONVERT(CHAR(10),@inAsOnDate,120)
ORDER BY COLUMN005 DESC

IF (@@ROWCOUNT = 0)
BEGIN
SET @strOpDate = ''
SET @strGetFrom = ''
END
END

-- Getting Balance from Account Period Balance
IF @strGetFrom = 'PB'
SELECT @dblOpBalance = COLUMN006 - COLUMN007 FROM OATABLE066 apb
WHERE COLUMN003 = @inBranchId AND COLUMN005 = @inAccountId
AND CONVERT(CHAR(10),COLUMN004,120) = @strOpDate

-- If no records in Account Period Balance, Getting from Account Opening Balance
IF @strGetFrom = 'OB'
SELECT TOP 1 @dblOpBalance = COLUMN007 - COLUMN008 FROM OATABLE044 aob
WHERE COLUMN010 = @inBranchId AND COLUMN006 = @inAccountId
AND CONVERT(CHAR(10),COLUMN005,120) = @strOpDate

IF @@ROWCOUNT=0
SET @dblOpBalance = 0

SELECT @dblOpBalance = @dblOpBalance + ISNULL(SUM(COLUMN012 - COLUMN013),0) FROM OATABLE064 agl
WHERE COLUMN002 = @inBranchId AND COLUMN008 = @inAccountId
AND (CONVERT(CHAR(10),COLUMN007,120) BETWEEN @strOpDate AND CONVERT(CHAR(10),@inAsOnDate,120))

RETURN @dblOpBalance
END


------another function (fSubAccBalance)







CREATE FUNCTION fSubAccBalance (@prmBranchId VARCHAR(50), @prmSubAccId VARCHAR(50), @prmAsOnDate DATETIME)
RETURNS DECIMAL (34,4)
AS
BEGIN
DECLARE @dtOpBalanceDate CHAR(10)
DECLARE @dblOpBalanceType CHAR(1)
DECLARE @dblClBalance DECIMAL(34,4)

SELECT TOP 1 @dblOpBalanceType = 'P', @dtOpBalanceDate = CONVERT(CHAR(10),sap.COLUMN004,120)
FROM OaTable067 sap
WHERE sap.COLUMN003 = @prmBranchId AND CONVERT(CHAR(10),sap.COLUMN004,120) <= CONVERT(CHAR(10),@prmAsOnDate,120)
ORDER BY COLUMN004 DESC

-- There is no record. So geting from Opening Balance table
IF @@ROWCOUNT = 0
SELECT TOP 1 @dblOpBalanceType = 'O', @dtOpBalanceDate = CONVERT(CHAR(10),ao.COLUMN005,120)
FROM OATABLE044 ao
WHERE ao.COLUMN010 = @prmBranchId AND CONVERT(CHAR(10),ao.COLUMN005,120) <= CONVERT(CHAR(10),@prmAsOnDate,120)

-- There is no record in Opening balance table also
IF @@ROWCOUNT = 0
BEGIN
SET @dtOpBalanceDate = ''
SET @dblOpBalanceType = ''
END

IF @dblOpBalanceType = 'P' -- Period Balance is there
SELECT @dblClBalance =
ISNULL(
-- Balance from Period Balance table
(SELECT sap.COLUMN007 - sap.COLUMN008 FROM OATABLE067 sap
WHERE sap.COLUMN003 = @prmBranchId AND sap.COLUMN006 = @prmSubAccId
AND CONVERT(CHAR(10),sap.COLUMN004,120) = @dtOpBalanceDate)
,0) +
ISNULL(
-- Fetching sum of Debit and Credit from Sub A/c ledger
(SELECT SUM(COLUMN013 - COLUMN014) FROM OATABLE065 sal
WHERE sal.COLUMN002 = @prmBranchId AND sal.COLUMN009 = @prmSubAccId
AND (CONVERT(CHAR(10),sal.COLUMN007,120) BETWEEN @dtOpBalanceDate AND @prmAsOnDate))
,0)
FROM OATABLE030 sa
WHERE sa.COLUMN001 = @prmSubAccId

IF @@ROWCOUNT = 0 -- There is no record in Sub Account
BEGIN
SET @dtOpBalanceDate = ''
SET @dblOpBalanceType = ''
SET @dblClBalance = 0
END
IF @dblOpBalanceType = 'O'
SELECT @dblClBalance =
ISNULL(
-- Opening Balance from Opening Balance table
(SELECT sao.COLUMN005 - sao.COLUMN006 FROM OATable044 ao, OATABLE045 sao
WHERE ao.COLUMN001 = sao.COLUMN001 AND sao.COLUMN007 = @prmBranchId AND sao.COLUMN004 = @prmSubAccId
AND CONVERT(CHAR(10),sao.COLUMN004,120) = @dtOpBalanceDate)
,0) +
ISNULL(
-- Fetching sum of Debit and Credit from Sub A/c ledger
(SELECT SUM(COLUMN013 - COLUMN014) FROM OATABLE065 sal
WHERE sal.COLUMN002 = @prmBranchId AND sal.COLUMN009 = @prmSubAccId
AND (CONVERT(CHAR(10),sal.COLUMN007,120) BETWEEN @dtOpBalanceDate AND @prmAsOnDate))
,0)
FROM OATABLE030 sa
WHERE sa.COLUMN001 = @prmSubAccId

IF @@ROWCOUNT = 0 -- There is no record in Sub Account
SET @dblClBalance = 0

IF @dblOpBalanceType = ''
SELECT @dblClBalance =
ISNULL(
-- Fetching sum of Debit and Credit from Sub A/c ledger
(SELECT SUM(COLUMN013 - COLUMN014) FROM OATABLE065 sal
WHERE sal.COLUMN002 = @prmBranchId AND sal.COLUMN009 = @prmSubAccId
AND (CONVERT(CHAR(10),sal.COLUMN007,120) BETWEEN @dtOpBalanceDate AND @prmAsOnDate))
,0)
FROM OATABLE030 sa
WHERE sa.COLUMN001 = @prmSubAccId

IF @@ROWCOUNT = 0 -- There is no transactions in Sub a/c ledger for Sub Account
SET @dblClBalance = 0

RETURN @dblClBalance
END







Vinod
Even you learn 1%, Learn it with 100% confidence.
Go to Top of Page

SwePeso
Patron Saint of Lost Yaks

30421 Posts

Posted - 2007-05-14 : 07:41:35
This might perform better!
ALTER FUNCTION fGenAccBalance
(
@BranchID VARCHAR(50),
@AccountID VARCHAR(50),
@AsOnDate DATETIME
)
RETURNS DECIMAL(34,4)
AS
BEGIN
DECLARE @d DATETIME,
@b1 DECIMAL(34,4),
@b2 DECIMAL(34,4)

SELECT TOP 1 @d = DATEADD(DAY, DATEDIFF(DAY, 0, COLUMN004), 0),
@b1 = COALESCE(COLUMN006, 0) - COALESCE(COLUMN007, 0),
FROM OATABLE066
WHERE COLUMN003 = @BranchID
AND COLUMN005 = @AccountID
AND COLUMN004 <= @AsOnDate
ORDER BY COLUMN004 DESC

IF @b1 IS NULL
SELECT TOP 1 @d = DATEADD(DAY, DATEDIFF(DAY, 0, COLUMN005), 0),
@b1 = COALESCE(COLUMN007, 0) - COALESCE(COLUMN008, 0)
FROM OATABLE044
WHERE COLUMN010 = @BranchID
AND COLUMN006 = @AccountID
AND COLUMN005 <= @AsOnDate
ORDER BY COLUMN005 DESC

SELECT @b2 = SUM(COALESCE(COLUMN012, 0) - COALESCE(COLUMN013, 0))
FROM OATABLE064
WHERE COLUMN002 = @BranchID
AND COLUMN008 = @AccountID
AND COLUMN007 >= @d
AND COLUMN007 <= @AsOnDate

RETURN COALESCE(@b1, 0) + COALESCE(@b2, 0)
END


Peter Larsson
Helsingborg, Sweden
Go to Top of Page

SwePeso
Patron Saint of Lost Yaks

30421 Posts

Posted - 2007-05-14 : 07:59:43
Your fSubAccBalance function is fucked up!

How can column sao.COLUMN004 be used BOTH for a date and for a subaccountid?

	SELECT @dblClBalance = 
ISNULL(
-- Opening Balance from Opening Balance table
(SELECT sao.COLUMN005 - sao.COLUMN006 FROM OATable044 ao, OATABLE045 sao
WHERE ao.COLUMN001 = sao.COLUMN001 AND sao.COLUMN007 = @prmBranchId AND sao.COLUMN004 = @prmSubAccId
AND CONVERT(CHAR(10),sao.COLUMN004,120) = @dtOpBalanceDate)
,0) + ...


Peter Larsson
Helsingborg, Sweden
Go to Top of Page

sunsanvin
Master Smack Fu Yak Hacker

1274 Posts

Posted - 2007-05-14 : 08:14:47
GREAT
Let me check once again

Vinod
Even you learn 1%, Learn it with 100% confidence.
Go to Top of Page
   

- Advertisement -