34,838
社区成员




SELECT A.*,B.PRICE FROM TABLE_A A
OUTER APPLY
(SELECT TOP 1 PRICE FROM TABLE_B WHERE A.CUS=CUS AND A.ITEM=ITEM AND DATE<=A.DATE ORDER BY DATE DESC) AS B
SELECT A.*,ISNULL(B.PRICE,C.PRICE) FROM TABLE_A A
OUTER APPLY
(SELECT TOP 1 PRICE FROM TABLE_B WHERE A.CUS=CUS AND A.ITEM=ITEM AND DATE>=A.DATE ORDER BY DATE) AS B
OUTER APPLY
((SELECT TOP 1 PRICE FROM TABLE_B WHERE A.CUS=CUS AND A.ITEM=ITEM AND DATE<A.DATE ORDER BY DATE DESC) AS C