2013-08-12 96 views
1

我有兩個表格firm和contactdetails。我試圖從公司獲取公司名稱以及contactdetails的某些聯繫方式。我正在使用$id =$_GET['id'];獲取該ID。在contactdetails我有fk_firm_id這是我的外鍵。我不知道如何使用內部連接查詢。我正在嘗試以下查詢:

$sql="SELECT firm.`name` ,`address_physical_line_1` , `fax_1` , `phone_1` 
FROM contactdetails JOIN firm ON contactdetails.fk_firm_id='$id'"; 
echo $sql; 
$result = mysql_query($sql); 

但我沒有找到正確的公司。任何人都可以幫我解決這個問題。

+0

你需要指定連接條件,而不是一個值的列。 – Mihai

+0

你不能加入'var'。你必須定義表格列。 [閱讀文檔](http://www.w3schools.com/sql/sql_join_inner.asp) – Bora

+0

你不會使用'var'加入。這只是一個'where' – ajtrichards

回答

1

你應該使用這樣JOIN firm ON contactdetails.fk_firm_id = firm.id

$sql=" SELECT firm.`name` ,`address_physical_line_1` , `fax_1` , `phone_1` 
     FROM contactdetails 
     JOIN firm ON contactdetails.fk_firm_id = firm.id 
     WHERE contactdetails.fk_firm_id = '$id' 
    "; 

$result = mysql_query($sql); 
1

您錯過了WHERE子句將結果集限制爲僅限於您感興趣的公司;現在,您可以通過單個聯繫人詳細信息記錄加入所有公司。

.. where firm.id=$id 

對於新的應用程序,請使用準備好語句的數據庫API,如mysqli或pdo。

+0

您錯過了指出加入 –

+1

@dianuj,nope這個問題的錯誤使用,這不是問題。 OP寫入連接的方式並不常見,但並沒有錯。感謝您糾正錯字,在手機上編輯文本就是這樣的PIA。 – Joni

+0

正確的人現在我得到了這個 –

1

這是假設你的企業表有一個名爲ID

$sql="SELECT firm.`name` ,`address_physical_line_1` , `fax_1` , `phone_1` FROM contactdetails JOIN firm ON `contactdetails`.`fk_firm_id`=`firm`.`id` 
    WHERE `firm`.`id` = '$id'"; 
    echo $sql; 
    $result = mysql_query($sql); 
1

有一個誤會JOINWHERE語句的主鍵:

$sql = "SELECT 
       f.name, 
       c.address_physical_line_1, 
       c.fax_1, 
       c.phone_1 
     FROM 
       contactdetails c JOIN firm f ON c.fk_firm_id= f.id 
     WHERE c.id = '$id'"; 
0

對內聯結使用以下查詢ñ

$sql="SELECT firm.name ,address_physical_line_1 , fax_1 , phone_1 FROM 
contactctdetails INNER JOIN firm ON contactdetails.fk_firm_id=$id"; 
1
$sql="SELECT firm.`name` ,`address_physical_line_1` , `fax_1` , `phone_1` FROM 
contactdetails JOIN firm ON contactdetails.fk_firm_id=firm.id where 
contactdetails.fk_firm_id='$id'"; 

你應該加入對企業的領域,如firm.id

語法:FROM表1 LEFT JOIN表2 ON table1.field1 compopr table2.field2 compopr是:「= 「」 < 「 」>「,」 < = 「 」> =「,」 <>」