Логика on
, которую вы описываете:
on t1.price >= t2.price * 0.7 and t1.price <= t2.price * 1.3
Однако я подозреваю, что это решает реальную проблему.
EDIT:
Для ваших образцов данных:
select a.productId, a.price, b.price
from a join
b
on a.productId = b.productId and
a.price >= 0.7 * b.price and a.price <= 1.3 * b.price;