Как выбрать значения из базы данных, которые не равны нулю?

Как получить вывод заказов из таблицы SQL, отображая только те значения, которые не равны NULL? Вот мой текущий код: 

```python
back = types.InlineKeyboardMarkup(row_width=2)
bac = types.InlineKeyboardButton("Запросить код✅", callback_data='zap')
back.add(bac)
conn = sqlite3.connect('users.db')
cursor = conn.cursor()
cursor.execute('SELECT zakaz FROM users')
while True:
    us_id = cursor.fetchone()
    
    if us_id == None:
        break
    elif us_id != None:
        id = us_id[0]
        id != None
        print(id)
```

Как я могу настроить код так, чтобы выводились только те заказы, которые не равны NULL?
  • 4 мая 2024 г. 13:51
Ответы на вопрос 2
Для выборки только значений из базы данных, которые не равны NULL, вы можете добавить условие в ваш SQL запрос. Вот как это можно сделать:

```python
back = types.InlineKeyboardMarkup(row_width=2)
bac = types.InlineKeyboardButton("Запросить код✅", callback_data='zap')
back.add(bac)
conn = sqlite3.connect('users.db')
cursor = conn.cursor()
cursor.execute('SELECT zakaz FROM users WHERE zakaz IS NOT NULL') # Добавляем условие WHERE zakaz IS NOT NULL
result = cursor.fetchall() # Получаем все строки, удовлетворяющие условию

for row in result:
    id = row[0]
    print(id)
```

В этом примере, запрос SQL был изменен на `'SELECT zakaz FROM users WHERE zakaz IS NOT NULL'`, чтобы выбрать только те строки, где значение в столбце `zakaz` не равно NULL. С помощью `cursor.fetchall()` мы получаем все такие строки и используем цикл `for` для итерации по ним и вывода значений.
Как выводить значения из базы данных, которые не равны нулю


как сделать чтоьв выводило значения которые не равны Ничему


Товарищ, определитесь!

Еще было бы неплохо в вопросе обозначить какие поля есть в таблице, какие типы у этих полей и по каким из них считаем что не равны нулю

Если опираться только на код, то нужно что-то вроде

SELECT zakaz FROM users
where zakaz not null


(если в поле может быть записано значение 0 или пустая строка то можно добавить
and zakaz != 0 (если поле целочисленное)
and zakaz != "" (если поле символьное)
)

PS
Еще, мне кажется что-то не то со структурой БД если айди заказа хранится в таблице users
Похожие вопросы