如何在不加入表的情况下进行多种排序?我可以按audDt排序,但是无法在siteSt上进行二级排序。这是我的代码:

$sorc451sql = "Select * FROM table1 ORDER BY audDt";
while ($sorc451row = mysqli_fetch_array($sorc451res)) {
    $sorc451arycust[$i][6]  = $sorc451row['gropID'];


    $sorc452sql = "Select * FROM table2 WHERE gropID=".$sorc451arycust[$i][6];
    while ($sorc452row = mysqli_fetch_array($sorc452res)) {
        $sorc452arycust[$i][12]  = $sorc452row['siteSt'];
    }
}

最佳答案

快速解决方案:

$sorc451sql = "Select t1.gropID AS gropID, t2.siteSt AS siteSt FROM table1 t1 JOIN table2 t2 ON t1.gropID=t2.gropId ORDER BY audDt, SiteSt";
while ($sorc451row = mysqli_fetch_array($sorc451res)) {
    $sorc451arycust[$i][6]  = $sorc451row['gropID'];
    $sorc452arycust[$i][12] = $sorc452row['siteSt'];
}


似乎未使用table1,因此以下内容足以作为查询:

$sorc451sql = "Select gropID, siteSt FROM table2 ORDER BY audDt, SiteSt";

关于mysql - 多个表上的多个排序字段,无需连接SQL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54565377/

10-10 04:50