Php 如何在循环父表中的行时检索相关的子行?

Php 如何在循环父表中的行时检索相关的子行?,php,sql,ms-access,pdo,Php,Sql,Ms Access,Pdo,我需要在遍历外部查询的行时运行一个子查询(或其他什么)。我已经尽了我所能,但一直无法让它发挥作用 这是我的while循环: $sql = "SELECT * FROM $db ORDER BY Created DESC"; $ps = $pdo->prepare($sql); if (!$ps) { echo "\nPDO::errorInfo():\n"; print_r($dbh->errorInfo()); }else{ $ps->execute(

我需要在遍历外部查询的行时运行一个子查询(或其他什么)。我已经尽了我所能,但一直无法让它发挥作用

这是我的while循环:

$sql = "SELECT * FROM $db ORDER BY Created DESC";
$ps = $pdo->prepare($sql);
if (!$ps) {
    echo "\nPDO::errorInfo():\n";
    print_r($dbh->errorInfo());
}else{
    $ps->execute();
    $ps->setFetchMode(PDO::FETCH_OBJ);
    while($row = $ps->fetch()) {

        echo "<tr>\n";

            echo "  <td>". $row->SARNo . "</td>\n";
            echo "  <td>". $row->Quals . "</td>\n";
            echo "  <td>". <!-- how do I insert results of $query here? --> . "</td>\n";
            echo "  <td>". $row->CAGE . "</td>\n";
            echo "  <td>". $row->Supplier_Name . "</td>\n";
            echo "  <td>". $row->Assigned_To_HEBCO . "</td>\n";
            echo "  <td>". $row->SAR_Completed . "</td>\n";

        echo "</tr>\n";

    }
}
我不太熟悉Access,甚至不太熟悉在PHP中使用Access,所以这个小项目很“有趣”(至少可以这么说),因为缺少PHP函数(与MySQL提供的大量可用函数相比)


非常感谢您的任何帮助,一个有效的解决方案将使您在我的遗嘱中得到我50%的世俗物品(这可能是一笔很大的债务,因此如果您愿意,您可以拒绝):)

您可能已经发现,Access SQL没有MySQL那样的聚合函数。因此,您需要让PHP代码使用第二条准备好的语句和一个内部循环创建子项列表,如下所示:


PDO示例

只是一个猜测,但您是否在寻找一种方法,以获得多个NSN值的列表,就像MySQL的单个字符串一样?是的,与GROUP_CONCAT()完全相同。谢谢你的帮助。使用PHP和Access一直很奇怪。感谢您的指导和示范。
$query = "SELECT NSN_Src.NSN FROM NSN_Src INNER JOIN (SAR2 INNER JOIN REL_SAR_NSN ON SAR2.ID = REL_SAR_NSN.SAR_ID) ON NSN_Src.ID = REL_SAR_NSN.NSN_ID WHERE (((SAR2.ID)=$uid))";