I want to update three column namely LCID,LCNo, AmendmentStatus which are select from PI Table so i write following Update Query which are Successfully execute :
UPDATE #TempTableOne
SET
LCID=(SELECT ISNULL(ExportLCID,0) FROM ExportLC WHERE ExportLCID= (SELECT LCID FROM [PI] WHERE PIID=(SELECT PIID FROM Job WHERE JobID=TT.OrderID))),
LCNo=(SELECT ISNULL(ExportLCNo,'') FROM ExportLC WHERE ExportLCID= (SELECT LCID FROM [PI] WHERE PIID=(SELECT PIID FROM Job WHERE JobID=TT.OrderID))),
AmendmentStatus=(SELECT AmendmentStatus FROM ExportLC WHERE ExportLCID= (SELECT LCID FROM [PI] WHERE PIID=(SELECT PIID FROM Job WHERE JobID=TT.OrderID))),
FROM #TempTableOne AS TT
WHERE TT.OrderType=3
But is it possible update query execute a single query like as :
Update #TempTableOne
SET SELECT LCID = ISNULL(ExportLCID,0) ,
LCNo=ISNULL(ExportLCNo,''),
AmendmentStatus=AmendmentStatus
FROM ExportLC
WHERE ExportLCID = (SELECT LCID
FROM [PI]
WHERE PIID=(SELECT PIID
FROM Job
WHERE JobID=TT.OrderID
)
)
)
Because of i want to faster my Query
Changing your query to work off of JOINS should make it a lot faster: