0

だから私はそれが外部キーと相互接続されている5つのテーブルを持っています

5テーブル

これが表 3 の出力例です。

table3出力

テーブル番号3でやりたかったのは、useridが10のユーザーのSubdeptIDを抽出することですが、この場合は2つのuserid10があるため、両方が印刷されます。印刷したいのは後者のTransferIDのものだけです。私のselectステートメントはこれです

$sql_exp = "SELECT  a.UserID, b.Employeename, c.TransferID, e.Department
FROM    dbo.FA_Laptop a
        INNER JOIN dbo.users b
        on a.UserID = b.UserID
        INNER JOIN dbo.SubDeptTransfer c
            ON a.UserID = c.UserID  
        INNER JOIN dbo.SubDept d
            ON c.SudDeptID = d.SubDeptID
        INNER JOIN dbo.departments e
            ON d.DeptID = e.DeptID
WHERE  a.FAID = '$faidf' ORDER by c.TransferID DESC LIMIT 1"; 

私のphpコードは

$rs = $conn->Execute($sql_exp);      
    if ($rs->EOF) {
    echo "<tr><td>Please check for the Employee Name or the Department</td>";
} else {
    while (!$rs->EOF){ 
    echo "<tr><td>".$rs->Fields("Department")." / ".$rs->Fields("EmployeeName")."</td>";
    $rs->movenext();
    }
       $rs->Close();  
}   

「LIMIT」クエリでエラーが発生しました。

4

1 に答える 1

1

MSSQL には LIMIT キーワードがありません。

LIMIT の代わりにTOPを使用してください。

$sql_exp = "SELECT TOP 1 a.UserID, b.Employeename, c.TransferID, e.Department
FROM    dbo.FA_Laptop a
        INNER JOIN dbo.users b
        on a.UserID = b.UserID
        INNER JOIN dbo.SubDeptTransfer c
            ON a.UserID = c.UserID  
        INNER JOIN dbo.SubDept d
            ON c.SudDeptID = d.SubDeptID
        INNER JOIN dbo.departments e
            ON d.DeptID = e.DeptID
WHERE  a.FAID = '$faidf' ORDER by c.TransferID DESC"; 
于 2013-02-20T03:48:42.177 に答える