php - 组合来自不同表、具有不同字段名称的 2 个查询

标签 php mysql sql

我想从两个单独的数据库表中选择和检索结果,然后在一个 html 表中循环它们。我可以执行命令并单独命名它们,组合结果并循环它们。有没有一种方法可以通过一个查询来完成此操作?

下面的示例不起作用,但这就是我想要实现的目标背后的逻辑。

$SQL = "SELECT * FROM table3 WHERE column5 = 'YES'";
$Data = mysql_query($SQL);

$SQL = "SELECT * FROM table1 WHERE column1 = 'YES'";
$Data = mysql_query($SQL);

// loops through records displaying in table format
for($Loop = 0; $Loop < mysql_num_rows($Data); $Loop++)
{
     $Row = mysql_fetch_assoc($Data);
     $Ref = $Row["Ref"];
     // rest of fields
}

注意:我知道 mysql 已被弃用。当我重建网站时,我将转向 pdo,但现在我需要使用 mysql 函数。

最佳答案

SELECT * FROM table3 
JOIN table1 ON table3.column5=table1.column1 AND table3.column5='YES'

或者,将其更改为 mysqli 并使用 http://docs.php.net/mysqli.multi-query

关于php - 组合来自不同表、具有不同字段名称的 2 个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18985408/

相关文章:

MySQL 递归 - 检索所有子元素

php - SELECT id 其中来自多列的最小值或最大值

php - 具有外键约束的 Laravel 模型关系

php - 加入三个表并计数

php - 如何计算代码点火器中的总段数?

php - 使用 AdoDB 向数据库中插入数据

mysql - 将临时日期表与两个表合并并填充缺失值?

mysql - 允许优化和修复的最低 mysql 用户权限是多少

SQL查询以查找具有最多指定标签的事物

c# - 填充 DataTable 时出现 AccessViolationException