ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Общие вопросы программирования (https://forum.antichat.xyz/forumdisplay.php?f=206)
-   -   Sql запросы (https://forum.antichat.xyz/showthread.php?t=1402337)

laiser 21.09.2021 18:46

Всем привет, я вообще не шарю в 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')))" # Вот эта строка не работает


Время: 00:36