gpt4 book ai didi

mysql - 查询的设计

转载 作者:行者123 更新时间:2023-11-29 09:00:16 27 4
gpt4 key购买 nike

SELECT u.username,
r.position,
r.score,
r.winner,
t.team
FROM ".TBL_FOOT_TOUR_ROUNDS." r
LEFT JOIN ".TBL_USERS." u
ON u.id = r.winner
LEFT JOIN ".TBL_FOOT_TOUR_PLAYERS." pl
ON pl.userid = r.winner
LEFT JOIN ".TBL_FOOT_TEAMS." t
ON t.id = pl.team
WHERE pl.tourid = '$tour_id' && r.tourid = '$tour_id' && r.round = '$i'
ORDER BY r.position

我对这个查询有一个问题。 WHERE pl.tourid = '$tour_id' 依赖于LEFT JOIN“.TBL_FOOT_TOUR_PLAYERS”。 pl ON pl.userid = r.winner。由于它是左连接,如何才能使 WHERE 仅在 LEFT JOIN 起作用的情况下起作用?

想不出解决办法!

谢谢

最佳答案

我猜您只想要没有匹配获胜者的行,或者获胜者具有指定的tourid的行。在这种情况下,您将使用:

WHERE (pl.tourid IS NULL OR pl.tourid = '$tour_id')

或者,如果您只想链接到该玩家(如果他有正确的tourid),则将其添加到ON子句中:

ON pl.userid = r.winner AND pl.tourid = '$tour_id'

结果会有所不同,两者都可能是您正在寻找的结果。

关于mysql - 查询的设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8835149/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com