gpt4 book ai didi

php - 如何设置MySQL查询?

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

如何设置此查询?我在表中有奖项。例如,奖杯在奖励表中可能是award_id 1。一条丝带在奖励表中可能是 award_id 2。然后我有另一个表 award_user,其中包含 award_id 和用户的用户 ID。所以,如果我想给用户 award_id 1,而他们的 userid 是 25,它将在 award_user 表中作为 award_id 1 和 userid 25(这意味着他们有那个奖项)。我想根据用户 ID 选择用户拥有的所有奖项。

不过,事情是这样的。奖励在奖励表中,但奖励的实际用户信息在奖励表中。所以,我想我必须从两个不同的地方进行选择。

这是我目前所拥有的..

$query = mysql_query("SELECT * from award WHERE award_id = (SELECT award_id FROM award_user WHERE userid = $userid)");

不确定这是否有效。

基本上,它必须使用用户 ID 具有的 award_id 从 award 表中选择 awards。 $userid 是一个有效的变量,它是他们的 userid。

谢谢!

最佳答案

只需稍作调整,您表达查询的方式就应该可行。你需要把=改成in,因为可以有多个aware

SELECT *
from award a
WHERE a.award_id in (SELECT au.award_id FROM award_user au WHERE au.userid = $userid)

更典型的是,这将表示为一个连接:

select a.*
from award a join
award_user au
on a.award_id = au.award_id
where au.userid = $userid;

join 表单通常也更高效。

关于php - 如何设置MySQL查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18163553/

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