Было бы действительно легко понять, если бы вы также указали выходные значения.На ваш вопрос: да, вы можете добиться конверсии в одном запросе, используя CASE
SELECT
center,
account,
SUM(expenses)/SUM(users) AS result
FROM
(
SELECT
t2.center AS center,
t1.users AS users,
CASE
WHEN t2.currency = 'USD' THEN (t2.expenses*70)
WHEN t2.currency = 'MYR' THEN (t2.expenses*17)
WHEN t2.currency = 'AUD' THEN (t2.expenses*50)
WHEN t2.currency = 'INR' THEN t2.expenses
ELSE 'invalid'
END AS expenses,
t2.currency AS currency,
t2.account AS account
FROM
table1 t1
JOIN
table2 t2
ON(t1.center=t2.center)
) joined_data
GROUP BY center,account
ORDER BY center,account
Я не проверял это, но он должен работать.В худшем случае это может привести к незначительной синтаксической ошибке, о которой вы должны позаботиться.:)