HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Общие вопросы программирования
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 21.09.2021, 18:46
laiser
Участник форума
Регистрация: 21.12.2013
Сообщений: 181
С нами: 6522707

Репутация: 83
По умолчанию

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



Предыдущая тема Следующая тема

Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.