php - 使用 IN 从结果集中选择

标签 php mysql pdo

<分区>

我正在寻找创建一个存储过程或一个体面的 sql 语句来查询结果集。

所以,我在一张表中搜索与用户 BOB 相关的房间号

SELECT room_number FROM room_user WHERE user = BOB;

这会给我一些结果,如果我要打印我的 PDO 结果集的结果,我会看到

Array
(
   Array(
      [room_number] = 10
   )
   Array(
      [room_number] = 13
   )

)

我可以获取这个检索到的数据,将其分解成一个字符串,然后进行第二个查询:

SELECT title FROM rooms WHERE room_number IN('$roomString');

但是,我确信有一个更直接的方法,因为我已经在我的数据库中了。

有人知道处理这个问题的便捷程序或声明吗?

最佳答案

这只是一个 JOIN。

SELECT rooms.title, rooms.room_number FROM rooms
JOIN room_user ON
    room_user.user = "BOB" AND
    room_user.room_number = rooms.room_number

关于php - 使用 IN 从结果集中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9440020/

相关文章:

php - PDO 更新失败

php - PDO版本属性从何而来?

php - 如何从 ajax 调用返回值以及 HTML 结果?

mysql - 如果我使用 IP 地址运行 NodeJS 服务器, session 不会初始化

mysql - 我可以在单个 Amazon RDS 实例上创建多少个数据库

php - 为什么这个准备好的 PHP PDO 语句在 query() 时不起作用?

php - 如何在 WC_Shipping_Methodcalculate_shipping() 方法中获取购物车小计

php - 如何正确添加一行到 Bootstrap 以修复网格系统移动到多行

java hmac/sha512 生成

php - mysql 连接被拒绝并且 mysql 没有这样的文件或目录