It sounds like you need a subquery in your SQL statement.
Something like:
Select ....
From Purchase_Order_Table
Left Join Sold_Item_Table on Sold_Item_Table.Date >
Purchase_Order_Table.PO_Date and Sold_Item_Table.Date < (SELECT POTable2.PO_DATE FROM Purchase_Order_Table AS POTable2 WHERE [SOME CONDITION THAT UNIQUELY IDENTIFIES THE NEXT RECORD])
See this link for more:
http://msdn.microsoft.com/en-us/library/aa213252%28v=sql.80%29.aspx
Alternatively, you can store your records in a temp-table, and then use a cursor to iterate through one at a time, then apply whatever logic you need in a more straight-forward manner (like creating SELECT statements for each iteration to fetch whatever you need), it's more tedious, but may be easier to grasp if you're relatively new to SQL.