Задать вопрос
@azizback

Как вывести все строки из таблицы, которые принадлежат userId?

Мне нужно отобразить все заказы, принадлежащие пользователю, в один клик. Каков наилучший способ сделать это? Приведенный ниже код выводит только первый элемент.
async def list_orders(message):
    cur.execute("SELECT * FROM orders WHERE userId=?", (message.from_user.id,))
    user = cur.fetchone()
    if user:
           await message.answer(text=f'Order #{user[2]}\n'
                                      'Open!\n\n'
                                      f'{user[3]}')
  • Вопрос задан
  • 50 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Продвинутый SQL
    5 недель
    Далее
  • Яндекс Практикум
    SQL для разработки
    4 месяца
    Далее
  • Академия Eduson
    SQL-разработчик: тариф Базовый
    3 месяца
    Далее
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev
Седой и строгий
Очевидно, делать выборку не одного элемента.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
febday
@febday
async def list_orders(message):
    cur.execute("SELECT * FROM orders WHERE userId=?", (message.from_user.id,))
    users = cur.fetchall()
    if users != list():
        return await message.answer("Ничего нет")

    text =  '\n'.join([f'Order #{user[2}\nOpen!\n\n{user[3]}' for user in users])
    return await message.answer(text=text)


Можно так попробовать. По факту это тоже самое, что вам сказал ответчик выше
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Екатеринбург
от 50 000 до 90 000 ₽