2013-03-04 125 views
0

enter image description here選擇內部連接

所以我有這4張桌子。
基本上我有這個代碼。

$sql_exp = "SELECT c.Branch 
FROM dbo.users a 
     INNER JOIN dbo.FA_Laptop b 
      ON a.userID = b.UserID 
     INNER JOIN dbo.Branch c 
      ON a.BranchID = c.BranchID 
WHERE b.fa_id = $faidf"; 
    $rs = $conn->Execute($sql_exp); 
if ($rs->EOF) { 
    echo "<br><br><tr><td><font size=2> Branch is missing</td>"; 
} else { 
    while (!$rs->EOF){ 
     echo "<br><br><tr><td>".$rs->Fields("Branch")."</td>"; 
     $rs->movenext(); 
    } 
} 
$rs->Close(); 

其我的select語句它使我打印的用戶(胡安),其中fa_id = $ faidf。的 「科」(在這個例子$ faidf = 「1」)

我接下來要做的是使用FAID = $ faidf(即「1」)來打印Pedro的分支。雖然他們的fa_id不同,我可以使用laptop_id連接它嗎?

+0

爲什麼不使用users.userid而不是FA_laptop.fa_ID? – 2013-03-04 02:53:19

+0

我有一個主頁,其中用戶將只能從fa_id.after的保管箱中選擇用戶選擇一個ID itll打印用戶選擇的哪個ID的分支。現在,我想打印以及用戶的分支它的筆記本電腦ID與主頁上的fa_id選擇相同 – Yinks 2013-03-04 02:56:35

回答

1

試試這個SQL

SELECT c.Branchname, a.employeename 
FROM dbo.users a 
INNER JOIN dbo.FA_Laptop b 
    ON a.userID = b.UserID 
INNER JOIN dbo.Branch c 
    ON a.BranchID = c.BranchID 
WHERE b.Laptop_id= 
    (SELECT x.laptop_id FROM FA_Laptop x 
    WHERE x.fa_id="$faidf"); 

你應該得到
BRANCHNAME,employeename
1,胡安
1,佩德羅

是不是你想要的?

+0

我調整了一些變量及其現在的工作,但它的打印4值取而代之。它的印刷品。 1,1,juan(當你讀這本書時確定它很有趣)和2,2,佩德羅。 – Yinks 2013-03-04 03:26:11

+0

好吧好吧我想我知道這個問題是謝謝你 – Yinks 2013-03-04 03:34:47