2013-08-12 50 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是:“= “” < “ ”>“,” < = “ ”> =“,” <>”