所以我正在开发游戏,如果可能的话,我想让我的代码更容易一些。我有两个表需要查询,一个表我想从中返回用户ID,另一个表进行一些后台检查。
统计表: userid |金|攻击|防守|奖金| ...
日志表: logid |攻击者|袭击了|时间| ...
以下是我可能会遇到的两个问题:
SELECT userid AS user FROM stats WHERE($ attack + $ bonus)> (辩护+奖金)ORDER BY金DESC LIMIT 1
SELECT COUNT(*)AS count FROM logs WHERE attacker = $ id AND attacked = user AND date> $ time - 86400
$变量当然是php变量,第二个查询中的'user'是指第一个查询中的“AS用户”。我的目标是返回我可以攻击的最高金币的用户ID,我在最后一天攻击的次数少于5次。 我不太确定如何加入这两个,但我想尽可能!
答案 0 :(得分:2)
试试这个(未经测试):
SELECT s.userid AS user
FROM stats s
LEFT JOIN logs l ON (l.attacked = s.userid) // attacked is the one I want to get from stats with the highest gold
WHERE ($attack + $bonus) > (s.defense + s.bonus)
AND l.attacker = $id
AND l.date > $time - 86400
ORDER BY s.gold DESC LIMIT 1