php - 是否可以使查询结果运行另一个查询?

标签 php mysql

我有这个查询:

$aircraft_query = "SELECT COUNT(aircraft) as total, aircraft FROM db_pireps WHERE pilotid = $pilotid GROUP BY aircraft ORDER BY total DESC LIMIT 6";
$planes = DB::get_results($aircraft_query);

使用 foreach 语句,我可以在表中生成行以显示 pilotid 飞行的飞机。但是,我现在想要 RESULT链接到另一个表并从其中提取数据,例如 fullname 中的飞机类型专栏。

我有这个:<?php echo $aircraft->fullname; ?>但该数据位于不同的表中。所以,如果aircraft为 30,它将访问 db_aircrafts 中的第 30 条记录表并采取 fullname柱子。我怎样才能做到这一点?这可能吗?

最佳答案

你需要的是一个表JOIN (另请参阅 JOIN in MySQL manual ):

SELECT 
    COUNT(a.aircraft) as total
    , a.aircraft
    , b.fullname AS aircraft_name
FROM db_pireps AS a
JOIN db_aircraft AS b
    ON a.aircraft = b.id
WHERE pilotid = {$pilotid}
GROUP BY aircraft 
ORDER BY total DESC 
LIMIT 6

关于php - 是否可以使查询结果运行另一个查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15057831/

相关文章:

mysql - 如何使用存储过程建立自动编号

mysql - 我一直收到 SQL 语法错误,我不知道为什么

php - 可点击的 HTML 行将变量 POST 到不同的 PHP 脚本

php - 溢出-x/y 在 IE 中不起作用

php - 2 表选择不正确显示

javascript - 将简单的 php Web 应用程序转换为仅 LAN

MySQL 查询是否带有左连接?

php - 是否允许使用 call_user_func 调用非静态方法?

php - mysql与php在表中添加一行

具有大量连接的 Mysql 慢查询