首页 > 解决方案 > 有没有办法从表 #2 中获取数据,如果它具有表 #1 的外键并且我查询表 #1

问题描述

我有 2 个表,一个叫做 users,还有一个叫做 role_id 的表,它使用外键从第二个叫做角色的表中获取数据。所以 role_id 是角色的 id,但我想获取位于角色表中的值并打印它而不是 id。我什至不知道该怎么做。所以如果我们看代码:我想回显角色的值而不是role_id,但它位于另一个表中

$querytable = mysqli_query($con, "SELECT * from users WHERE role_id = '2' OR role_id = '1'");
        while($row=$querytable->fetch_assoc()):?>
         <tr><td><?php echo $row['username'];?></td>
         <td><?php echo $row['fio'];?></td>
         <td><?php echo $row['password'];?></td>
         <td><?php echo $row['role_id'];?></td>
         <td><?php echo $row['salary_fix'];?></td>
         <td><?php echo $row['salary_percent'];?></td></tr>
        <?php endwhile;?>

标签: phpmysql

解决方案


您可以使用 JOIN 从链接表中获取数据

像那样:

SELECT * from users 
JOIN roles ON users.role_id = roles.id
WHERE role_id IN (1, 2) 

然后您将获得每个用户的表角色中的值

查看文档以获取更多信息

https://dev.mysql.com/doc/refman/8.0/en/join.html


推荐阅读