簡體   English   中英

選擇內連接4表

[英]select inner join 4 tables

所以我想從表號4獲得一個特定的數據,這個數據與另一個3表互連,用戶將選擇$ faid並打印所需的數據

表1(dbo.FAID)
FAID(PK)
PCID(FK)
用戶名(FK)

表2(dbo.users)
用戶ID(PK)
員工姓名

表3(dbo.SubDeptTransfer)
TransferID(PK)
用戶名(FK)
SubDeptID(FK)

表4(SubDept)
SubDeptID(PK)
DEPTID(FK)

表5(部門)
DEPTID(PK)

<?php
$faidf=$_POST['faidf'];
ini_set("display_errors","on");
$conn = new COM("ADODB.Connection");
   try {
   $myServer = "WTCPHFILESRV\WTCPHINV";
   $myUser = "sa";
   $myPass = "P@ssw0rd";
   $myDB = "wtcphitinventory";   
   $connStr = "PROVIDER=SQLOLEDB;SERVER=".$myServer.";UID=".$myUser.";PWD=".$myPass.";DATABASE=".$myDB;
   $conn->open($connStr); 
         if (! $conn) {
            throw new Exception("Could not connect!");
        }
   }

   catch (Exception $e) {
      echo "Error (File:): ".$e->getMessage()."<br>";
   }
if (!$conn)
  {exit("Connection Failed: " . $conn);}
  echo "<center>";
   echo "<table border='0' width ='100%' style='margin-left:90px'><tr><th></th><th></th></tr>";
   $sql_exp = "SELECT  e.Department
FROM    dbo.FA_PC 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 a.SubDeptID = d.SubDeptID
        INNER JOIN dbo.department e
            ON a.DeptID = e.DeptID
WHERE   a.FAID = $faidf";    
   $rs = $conn->Execute($sql_exp);  

    echo "<tr><td>".$rs->Fields("Department")."</tr></td>";
       $rs->Close();   

?>

所有我能得到的是“無效的列名'SubDeptID”,我確定列名是正確的,雖然我認為我搞砸了我的選擇語句

FAID->用戶 - > subdepttransfer-> subdept->部門

有多少內連接已經發生沖突,或者它不能執行超過3個表? 如果是,有沒有辦法連接5個表?

AFAIK沒有限制,至少5個表應該不成問題。 在您的情況下,SQL語句中存在拼寫錯誤。 你使用別名a,但我認為你打算使用c(我還修復了DeptID - 你修復SubDeptID后的下一個錯誤)。 試試這個說法

SELECT  e.Department
FROM    dbo.FA_PC 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.SubDeptID = d.SubDeptID
        INNER JOIN dbo.department e
            ON d.DeptID = e.DeptID
WHERE   a.FAID = $faidf

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM