per alleggerire una query l'ho spezzata in 2 nella prima mi pesco gli id dei record da pescare
nella seconda metto

WHERE idprodotto IN (1,2,3)

l'unico dubbio è: che lunghezza max può avere l'IN

perchè ricordo che per prova ne avevo fatto uno molto l'ungo, ma oltre una certa l'unghezza restituisce un errore

alternative

mysql è version 4.0.24 e non mi sembra supportare WHERE idprodotto in (SELECT...)