【发布时间】:2021-04-10 00:50:51
【问题描述】:
我想将来自 for 循环的查询的两个或多个结果相交
我的代码从命令行接收字符串,并检查数据库中匹配演员的电影
电影数据库
标识 |名字
演员数据库
标识 |名字
演戏
movie_id |演员 ID 即
inp = sys.argv[1]
query =
'''
SELECT m.name
FROM movie m
JOIN acting ag on m.id = ag.movie_id
JOIN actor a on a.id = ag.actor_id
WHERE a.name = ?
'''
cur.execute(query, (inp,))
for tup in cur.fetchall:
print(tup)
这个程序会得到演员大卫的所有电影
./program "David'
The Secret Life of Pets
The Big Short
Concussion
A Most Violent Year
Baggage Claim
Skyfall
Drive
Albert Nobbs
The Book of Eli
Shine a Light
The Bourne Ultimatum
The Simpsons Movie
我想扩展我的程序以接受多个参数,接受多个演员姓名,演员在同一部电影中表演。
可能的代码?
for index in range(len(sys.argv - 1)):
# insert code here
我认为我应该使用查询输出的交集,但我不知道该怎么做。
这是艾伯特和大卫的电影输出
./program "Albert" "David"
A Most Violent Year
Baggage Claim
The Simpsons Movie
【问题讨论】:
标签: sqlite