mysql - 如何从子查询中获取值

标签 mysql sql

这里我想使用当前表中的 id 从另一个表中获取用户名。

$sql = "SELECT product_name,product_category,product_image_url,product_proposed_user_id 
FROM product_list";

while($row = $result->fetch_assoc()) {
echo "<tr>
     <td>". $row["product_name"]."</td>
     <td>
       <a href=''><span class='glyphicon glyphicon-remove'></span>Remove</a>
     </td>
     <td>
      <a href='edit-product.php'><span class='glyphicon glyphicon-edit'></span>Edit</a>
     </td>
   </tr>";}

我在这里从表中获取详细信息。我在此查询中也有用户 ID,但我想做的是将用户 ID 引用到 users 表并获取该 ID 的用户名并打印值

我该怎么做?我如何使用子查询来执行此操作?

最佳答案

我没有看到你在哪里执行你的查询字符串,你的代码应该是这样的:

$sql = "SELECT product_name,product_category,product_image_url,product_proposed_user_id   
       FROM product_list";
$result =$mysqli->query($sql);

while($row = $result->fetch_assoc()) {
        echo "<tr><td>". $row["product_name"].  
              "</td><td><a href=''><span class='glyphicon glyphicon-remove'></span>  
               Remove</a></td><td><a href='edit-product.php'>  
              <span class='glyphicon glyphicon-edit'></span>Edit</a></td></tr>";
        }  

这是对您的查询的修复(获取用户详细信息):

$sql = "SELECT p.product_name,p.product_category,p.product_image_url,  
        p.product_proposed_user_id,u.user_name   
FROM product_list p, user u   
WHERE p.product_proposed_user_id = u.user_id ";

关于mysql - 如何从子查询中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32348643/

相关文章:

SQL:仅选择第二列最常见值是某个值的 id(按 id 分组)

sql - 使名称全部大写?

mysql - 使用同一表中查询的计数值更新行列

mysql - 如何选择今天日期介于开始日期和结束日期之间的行

mysql - 删除一个表中与两个(或多个)表中的条件相匹配的所有记录

MySQL慢查询优化

sql - 让 Doctrine 在 INSERT INTO 期间跳过只读字段/列

mysql - 选择与正确答案相匹配的答案

php - 全文搜索不适用于某些表

mysql - 两列索引 (A,B) 和索引 (B) 为常量时的 A 和 B 指南