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 2005 Forums
 Transact-SQL (2005)
 To all the expert can u help me!!!! t.y

Author  Topic 

bentong
Starting Member

5 Posts

Posted - 2007-08-13 : 06:42:14
select

if(acr_application.appStatus = 'AOO' then acr_application.appDt,
if(acr_application.appStatus = 'A01' then acr_application.recvdDt,
if(acr_application.appStatus = 'A02' then
(select A.payDt from acr_payment A, acr_reference_no B
where A.refNo = B.acrReferenceNoId and B.refType = 'ACF' and B.appNo =
acr_application.appNo),
if(acr_application.appStatus = ('A03', 'A08'),
(select C.updatedBy from acr_insp_sched C
where C.appNo = acr_application.appNo and C.seqNo =
(select max (D.seqNo) from acr_insp_sched D where D.appNo = C.appNo)),
if (acr_application.appStatus = ('A04', 'A05', 'A06', 'A15'),
(select E.updatedBy from acr_inspection E
where E.appNo = acr_application.appNo and E.seqNo =
(select max (F.seqNo) from acr_inspection F where F.appNo = E.appNo)),
if(acr_application.appStatus = 'A07',
(select G.payDt from acr_payment G, acr_reference_no H
where G.refNo = H.refId and H.refType = 'REI' and H.appNo =
acr_application.appNo),
if(acr_application.appStatus = ('A10', 'A11'), acr_application.approvedDt,
if(acr_application.appStatus = 'A13', acr_application.updatedBy,
if(acr_application.appStatus = 'A14',
(select H.payDt from acr_payment H, acr_reference_no J
where H.refNo = J.refId and J.refType = 'CSB' and J.appNo = acr_application.appNo), null)))))))))

from acr_application

madhivanan
Premature Yak Congratulator

22864 Posts

Posted - 2007-08-13 : 08:04:31
quote:
Originally posted by bentong

select

if(acr_application.appStatus = 'AOO' then acr_application.appDt,
if(acr_application.appStatus = 'A01' then acr_application.recvdDt,
if(acr_application.appStatus = 'A02' then
(select A.payDt from acr_payment A, acr_reference_no B
where A.refNo = B.acrReferenceNoId and B.refType = 'ACF' and B.appNo =
acr_application.appNo),
if(acr_application.appStatus = ('A03', 'A08'),
(select C.updatedBy from acr_insp_sched C
where C.appNo = acr_application.appNo and C.seqNo =
(select max (D.seqNo) from acr_insp_sched D where D.appNo = C.appNo)),
if (acr_application.appStatus = ('A04', 'A05', 'A06', 'A15'),
(select E.updatedBy from acr_inspection E
where E.appNo = acr_application.appNo and E.seqNo =
(select max (F.seqNo) from acr_inspection F where F.appNo = E.appNo)),
if(acr_application.appStatus = 'A07',
(select G.payDt from acr_payment G, acr_reference_no H
where G.refNo = H.refId and H.refType = 'REI' and H.appNo =
acr_application.appNo),
if(acr_application.appStatus = ('A10', 'A11'), acr_application.approvedDt,
if(acr_application.appStatus = 'A13', acr_application.updatedBy,
if(acr_application.appStatus = 'A14',
(select H.payDt from acr_payment H, acr_reference_no J
where H.refNo = J.refId and J.refType = 'CSB' and J.appNo = acr_application.appNo), null)))))))))

from acr_application



1 You didnt explain the problem clearly
2 Read about CASE in sql server help file
3 This forum is to post workable script

Madhivanan

Failing to plan is Planning to fail
Go to Top of Page

ashley.sql
Constraint Violating Yak Guru

299 Posts

Posted - 2007-08-13 : 09:36:56
DUPLICATE POST

Its not exactly clear to me what result you are trying to get but this is what i have finally, hope it would help you to get where you want.

select

case when acr_application.appStatus = 'AOO' then acr_application.appDt
else
case when acr_application.appStatus = 'A01' then acr_application.recvdDt
end
end


,


case when acr_application.appStatus = 'A02' then

(select A.payDt from acr_payment A, acr_reference_no B
where A.refNo = B.acrReferenceNoId and B.refType = 'ACF' and B.appNo =
acr_application.appNo) end ,


case when acr_application.appStatus IN ('A03', 'A08')
then (select C.updatedBy from acr_insp_sched C
where C.appNo = acr_application.appNo and C.seqNo =
(select max (D.seqNo) from acr_insp_sched D where D.appNo = C.appNo))

ELSE

Case WHEN
acr_application.appStatus IN ('A04', 'A05', 'A06', 'A15')
THEN (select E.updatedBy from acr_inspection E
where E.appNo = acr_application.appNo and E.seqNo =
(select max (F.seqNo) from acr_inspection F where F.appNo = E.appNo))

END
END,



CASE WHEN acr_application.appStatus = 'A07' THEN
(select G.payDt from acr_payment G, acr_reference_no H
where G.refNo = H.refId and H.refType = 'REI' and H.appNo =
acr_application.appNo)END ,
CASE WHEN acr_application.appStatus IN ('A10', 'A11') THEN acr_application.approvedDt END,

case when acr_application.appStatus = 'A13' THEN acr_application.updatedBy END,
CASE WHEN acr_application.appStatus = 'A14' THEN

(select H.payDt from acr_payment H, acr_reference_no J
where H.refNo = J.refId and J.refType = 'CSB' and J.appNo = acr_application.appNo)

ELSE NULL

END

from acr_application


Ashley Rhodes
Go to Top of Page
   

- Advertisement -