如何在sqlite3上同时使用OR和and语句


def StatDatabase(self, x, team, position):
# Fetches data from the FifaStats database
# I need to add more than one variable for the different cards
self.cur.execute("SELECT " + x + " FROM Stats WHERE Club =? AND Position =? AND Card =? Or Card =?",
(f'{team}', f'{position}', 'ut21  gold rare', 'ut21  gold non-rare'))
data = self.cur.fetchall()
if len(data) > 1:
updated_data = random.sample(data, 1)
for updated_info in updated_data:
return updated_info
else:
for info in data:
return info

当我执行这个命令时,它没有意识到我希望球员来自某个俱乐部和某个位置。事实上,它从数据库中检索大多数玩家。如何将OR语句和and语句一起使用?

尝试使用括号。

SELECT *
FROM table
WHERE (column_1 = 'a' AND column_2 = 'b') OR (column_1 = 'a' AND column_2 = 'c')

最新更新