Nu såg jag inte om det var något mer som skiljer sig i frågan men detta kanske funkar för dig..
Kod:
SELECT posts.*, ROUND(A.meta_value) AS price_current, ROUND(B.meta_value) AS price_org, ROUND((A.meta_value / B.meta_value) * 100 - 100) AS price_diff FROM posts, postmeta A, postmeta B WHERE ID = A.post_id AND ID = B.post_id AND ( ( A.meta_key = 'price_current2' AND B.meta_key = 'price_org2' ) OR ( A.meta_key = 'price_current1' AND B.meta_key = 'price_org1' ) ) AND B.meta_value > A.meta_value AND post_status = 'publish' AND post_type = 'post' ORDER BY price_org DESC
Du kan ju också lägga till en SELECT DISTINCT posts.id, om koden ovan lämnar dubbla resultat.