Предположим, у меня есть эта таблица name_currency
в sqlite3.
name, currency, price
AA, SGD, 1
BB, USD, 2
CC, EUR, 3
Мне нужно обработать цену таким образом.
if currency == "SGD", price = price*2
if currency == "USD", price = price*Y
if currency == "EUR", price = price*Z
Значения Y, Z должныбыть извлеченным из другой таблицы currency_multiplier
.Вот как выглядит currency_multiplier.
currency, rate
SGDUSD, 3 #value of Y
SGDEUR, 4 #value of Z
Желаемая выходная таблица будет выглядеть так после обработки столбца цены;
name, currency, price
AA, SGD, 2
BB, USD, 6
CC, EUR, 12
Вот запрос, который я написал для решения этой проблемы.
SELECT name_currency.name,
name_currency.currency,
name_currency.dividend_yield*currency_multiplier.rate as price,
from name_currency
INNER JOIN currency_multiplier
on name_currency.currency = substr(currency_multiplier.currency,4,3)
Вывод запроса, который я написал, выглядит следующим образом:
name, currency, price
BB, USD, 6
CC, EUR, 12
Отсутствует одна из строк с валютой SGD
.Внутреннее соединение слишком сильно отфильтровано.Как я могу изменить запрос для решения проблемы?Я приветствую совершенно новые запросы для решения этой проблемы.