Sql запросы

laiser

Известный
Автор темы
184
90
Всем привет, я вообще не шарю в SQL, но учусь. Пытался найти решение в гугле, но не смог разобраться, поэтому прошу помощи у вас))

В общем цель такая:
Сохранить в БД значение в зависимости от того, какое значение пришло.
Логика:
Если пришло значение "1", то умножаем на значение из БД "bd1" на другое значение из другой БД и сохранением в столбец value_usd
Если "2", то соответственно умножаем на значение из БД "bd2"
Что я сделал:

Код:
date = '30.06.2021'
val1 = 'val1'
val2 = 'val2'
fee = 'FEE'
ids = '1121212'
value = '0'

#(SELECT IF(10 > 0, 'a', 'b') AS nums)
cur.execute(f"INSERT INTO requst_result (data, val1, val2, result, id, value, token_course, rakeback, value_usd) VALUES (%s, %s, %s, %s, %s, %s, "
            f"(SELECT storage_1.token_course FROM storage_1 WHERE storage_.club_name = '{club}'),"
            f"(SELECT storage_1.rb FROM storage_1 WHERE storage_1.club_name = '{club}'))"
            f"(SELECT IF(10 > 0, 'a', 'b'))", # Вот эта строка не работает
            (date, val1, val2, fee, ids, value))
db.commit()

Всем спасибо, разобрался. Все дело в незакрытой скобке.
Строка которая не работает должна выглядеть так:

Код:
f"(SELECT IF(10 > 0, 'a', 'b')))" # Вот эта строка не работает
 
Последнее редактирование: