假设我有一个包含两个表的数据库:“food”和“whatToEat”。
我查询“whatToEat”并找到 3 行:
id Food username
1 Apple John
2 Banana John
3 Milk Linda
如果我想从“食物”表中获取这些,我猜我可以做这样的事情:
SELECT *
FROM food
WHERE username='John' AND typeOfFood = 'apple'
OR typeOfFood = 'Banana' OR typeOfFood = 'Milk'
...但是是否可以动态编写它,因为“whatToEat”表会一直变化,或者我是否需要一个循环并为“whatToEat”中的每个对象一个一个地查询“food”表?
编辑
以上只是一个例子,真实场景是网络游戏。当玩家上场比赛时,他会被放到“matches_updated”表中。该表仅包含他的姓名和比赛的 id(或比赛,因为他可以同时在多个比赛中)。当玩家收到更新时,我想检查他是否有任何匹配需要更新(查询“matches_updated”表),然后从“matches”表中提取数据并返回给他,其中所有信息存储有关比赛的信息。
例子:
玩家 Tim 查询“mathces_updated”表,发现他有 2 个新的匹配项需要更新:
match_id username
1 Tim
2 Tim
2 Lisa
1 John
3 John
... 他现在想要获取有关这些匹配项的信息,这些信息存储在“matches”表中:
match_id match_status player1Name Player1Score Player2Name Player2Score
1 1 John 123 Tim 12
2 1 Lisa 4 Tim 15
3 1 John 0 Lisa 0