Как по одному из параметров в бд SQLite (Python) вывести остальные
Есть бд, в которой несколько значений, по id пользователя все прекрасно выводится, но я не могу понять как вывести теже данные но по другому параметру, подскажите кодом как лучше сделать
cur.execute("""CREATE TABLE IF NOT EXISTS users(userid BIGINT, cash BIGINT, steam TEXT) """); con.commit()
def checkUser(id: int) -> list[Any]:
user = cur.execute("SELECT * FROM users WHERE userid = %s" % id).fetchall()
if not user:
cur.execute("INSERT INTO users VALUES (?, ?, ?)", (id, 1000, 0))
return cur.execute("SELECT * FROM users WHERE userid = %s" % id).fetchall()
@bot.slash_command(name='iinventory', description='Инвентарь игрока')
async def iinventory_cmd(ctx, target: Member = None, steamid: str = None):
def checkSteam(steam: str) -> list[Any]:
steam = cur.execute("SELECT * FROM users WHERE steam = {steamid}").fetchall()
if steam is None:
await ctx.send(embed=Embed(
title=f'Ошибка | ❌',
description=f'Нет доступа',
color=Color.red()
))
elif steamid is None:
data = checkUser(target.id)
await ctx.send(embed=Embed(
title=f'Инвентарь | {target}',
description=f'Монеты **{data[0][1]}**',
color=Color.green()
))
else:
datas = checkSteam(steamid)
await ctx.send(embed=Embed(
title=f'Инвентарь {datas[0][2]}',
description=f'Монеты **{datas[0][1]}**}',
color=Color.green()
))
изменила код:
@bot.slash_command(name='iinventory', description='Инвентарь игрока')
async def iinventory_cmd(ctx, steamid: str = None):
def checkSteam(steam: str) -> list[Any]:
return cur.execute("SELECT * FROM users WHERE steam = %s" % steam).fetchall()
dat = checkSteam(steamid)
if dat is None:
await ctx.send(embed=Embed(
title=f'Ошибка | ❌',
description=f'Нет доступа',
color=Color.red()
))
else:
await ctx.send(embed=Embed(
title=f'Инвентарь {dat[0][2]}',
description=f'Монеты **{dat[0][1]}**',
color=Color.green()
))