I'm not sure what getting any errors will do for me. The sql i wrote does work and gives me a result.
Any way I think I have got it working.
This is the final:
SELECT t2.Product_ID,
t1.Order_ID,
products.Title,
products.Retail
FROM products2orders AS t1,
products2orders AS t2
LEFT JOIN products ON t2.Product_ID = products.Product_ID
WHERE t1.Product_ID = '25'
AND t2.Order_ID = t1.Order_ID
AND t2.Product_ID != '25'
GROUP BY (Order_ID) DESC
LIMIT 3
That seems to work (I think), as in it gives me a decent result. As you can see I don't want the same product I am referencing from to come up in the result and I droped the COUNT because it was confusing me. It was returning figures like 30 where it should only give me about 3 or so.
Anyway the GROUP BY(Order_ID) ordering returns in the right order even though the COUNT was showing up strange results.
If you or anyone can come up with a better solution please let me know. But for now I think I have resolved it.
It helps to put things in perspective sometimes.