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
 SQL Server 2008 Forums
 Transact-SQL (2008)
 query not return correct result in sql server 2008

Author  Topic 

maifs
Yak Posting Veteran

57 Posts

Posted - 2010-07-30 : 01:49:57
I have two databases but same database:

One is in SQL 2000 db and other one is in SQL 2008 db (which has been migrated from the SQL 2000 db).

When i write this query in SQL 2000 db and try to execute this query, it retrieve some result but when i write same query in SQL 2008 db then it retrieve no result.

SELECT
RECEIVABLE_PAID.external_receipt_nbr,
BP_MAIN.business_partner_nme,
RECEIVABLE_PAID.receipt_dte,
RECEIVABLE_PAID.receipt_amt,
RECEIVABLE_PAID.unallocated_amt,
RECEIVABLE_PAID.inserted_by,
RECEIVABLE_PAID.account_nbr,
RECEIVABLE_PAID.cheque_nbr,
RECEIVABLE_PAID.refund_to,
RECEIVABLE_PAID.comment_cde,
RECEIVABLE_PAID.receipt_amt - RECEIVABLE_PAID.unallocated_amt AS allocated_amt,
(SELECT business_partner_nme

FROM BP_MAIN

WHERE (business_partner_id = RECEIVABLE_PAID.BP_primary_id)) AS bank_nme,
(SELECT external_contract_nbr
FROM CONTRACT
WHERE (contract_id = RECEIVABLE_PAID.contract_id)) AS contract_no,
(SELECT MAX(history_creation_dte) AS Expr1
FROM RECEIVABLE_PAID_HTR
WHERE (receipt_id = RECEIVABLE_PAID.receipt_id)) AS allocation_dte,
(SELECT comment_dsc
FROM COMMENT_CODE
WHERE (comment_cde = RECEIVABLE_PAID.comment_cde) AND (event_cde = '00016')) AS reason_dsc
FROM RECEIVABLE_PAID

Left Join BP_MAIN On BP_MAIN.business_partner_id = RECEIVABLE_PAID.business_partner_id
WHERE
/* [start added ] by Mehmood Ahmed on Dated : 16-july-2010 against HD22376 */

RECEIVABLE_PAID.receipt_id
in (
Select distinct misc_rep.receipt_id From
(
SELECT r.receipt_id, r.receipt_amt,r.receipt_sts
FROM RECEIVABLE_PAID r
LEFT JOIN RECEIVABLE_PAID_htr htr ON r.receipt_id = htr.receipt_id
WHERE r.receipt_sts = 'U' and htr.contract_id IS NULL

UNION
SELECT r.receipt_id, r.receipt_amt, htr2.receipt_sts
FROM RECEIVABLE_PAID r
LEFT JOIN (select receipt_id, MIN(history_seq) MIN_history_seq
from RECEIVABLE_PAID_htr GROUP BY receipt_id) htr ON r.receipt_id = htr.receipt_id
join RECEIVABLE_PAID_htr htr2 on htr.receipt_id = htr2.receipt_id and htr.MIN_history_seq = htr2.history_seq
WHERE r.receipt_sts <> 'U' AND htr2.[receipt_sts] in ('U', 'R')
AND htr2.contract_id IS NULL

) misc_rep

)


/* [End added ] by Mehmood Ahmed on Dated : 16-july-2010 against HD22376 */
AND

(((CONVERT(DATETIME, CONVERT (VARCHAR, RECEIVABLE_PAID.receipt_dte, 112))) >=
(CONVERT(DATETIME, CONVERT (VARCHAR, '2010-02-24',112 )))) And
((CONVERT(DATETIME, CONVERT (VARCHAR, RECEIVABLE_PAID.receipt_dte, 112))) <=
(CONVERT(DATETIME, CONVERT (VARCHAR, '2010-02-24', 112 )))))


->please let me know in any confusion.

webfred
Master Smack Fu Yak Hacker

8781 Posts

Posted - 2010-07-30 : 03:14:48
First we should see a formatted query.
SELECT receivable_paid.external_receipt_nbr, 
bp_main.business_partner_nme,
receivable_paid.receipt_dte,
receivable_paid.receipt_amt,
receivable_paid.unallocated_amt,
receivable_paid.inserted_by,
receivable_paid.account_nbr,
receivable_paid.cheque_nbr,
receivable_paid.refund_to,
receivable_paid.comment_cde,
receivable_paid.receipt_amt - receivable_paid.unallocated_amt AS
allocated_amt,
(SELECT business_partner_nme
FROM bp_main
WHERE ( business_partner_id = receivable_paid.bp_primary_id )) AS
bank_nme,
(SELECT external_contract_nbr
FROM CONTRACT
WHERE ( contract_id = receivable_paid.contract_id )) AS
contract_no,
(SELECT MAX(history_creation_dte) AS expr1
FROM receivable_paid_htr
WHERE ( receipt_id = receivable_paid.receipt_id )) AS
allocation_dte,
(SELECT comment_dsc
FROM comment_code
WHERE ( comment_cde = receivable_paid.comment_cde )
AND ( event_cde = '00016' )) AS
reason_dsc
FROM receivable_paid
LEFT JOIN bp_main
ON bp_main.business_partner_id = receivable_paid.business_partner_id
WHERE
/* [start added ] by Mehmood Ahmed on Dated : 16-july-2010 against HD22376 */
receivable_paid.receipt_id IN (SELECT DISTINCT misc_rep.receipt_id
FROM (SELECT r.receipt_id,
r.receipt_amt,
r.receipt_sts
FROM receivable_paid r
LEFT JOIN receivable_paid_htr htr
ON r.receipt_id = htr.receipt_id
WHERE r.receipt_sts = 'U'
AND htr.contract_id IS NULL
UNION
SELECT r.receipt_id,
r.receipt_amt,
htr2.receipt_sts
FROM receivable_paid r
LEFT JOIN (SELECT
receipt_id,
MIN(history_seq) min_history_seq
FROM
receivable_paid_htr
GROUP BY receipt_id)
htr
ON r.receipt_id = htr.receipt_id
JOIN receivable_paid_htr htr2
ON htr.receipt_id =
htr2.receipt_id
AND htr.min_history_seq =
htr2.history_seq
WHERE r.receipt_sts <> 'U'
AND htr2.[receipt_sts] IN ( 'U',
'R' )
AND htr2.contract_id IS NULL)
misc_rep)
/* [End added ] by Mehmood Ahmed on Dated : 16-july-2010 against HD22376 */
AND ( ( ( CONVERT(DATETIME, CONVERT (VARCHAR, receivable_paid.receipt_dte, 112))
)
>=
(
CONVERT(DATETIME, CONVERT (VARCHAR, '2010-02-24', 112 )) ) )
AND ( ( CONVERT(DATETIME, CONVERT (VARCHAR, receivable_paid.receipt_dte,
112))
) <=
(
CONVERT(DATETIME, CONVERT (VARCHAR, '2010-02-24', 112 )) ) ) )



No, you're never too old to Yak'n'Roll if you're too young to die.
Go to Top of Page
   

- Advertisement -