1

私は会社と連絡先の2つのテーブルを持っています。会社から会社名を取得し、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);

しかし、私は正しい会社を得ていません。誰でもこのクエリを手伝ってくれませんか。

4

6 に答える 6

1

関心のある会社のみに結果セットを制限する WHERE 句がありません。これで、単一の連絡先詳細レコードに参加するすべての会社を取得できます。

.. where firm.id=$id

新しいアプリケーションの場合は、mysqli や pdo などのステートメントを準備したデータベース API を使用してください。

于 2013-08-12T08:30:14.133 に答える
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);
于 2013-08-12T08:30:18.307 に答える
1

JOINandWHEREステートメントに誤りがあります。

$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'";
于 2013-08-12T08:30:25.930 に答える
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);
于 2013-08-12T08:30:42.010 に答える
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'";

farm.id などの会社のフィールドに参加する必要があります

構文: FROM table1 LEFT JOIN table2 ON table1.field1 compopr table2.field2 compopr は: "=","<",">","<=",">=","<>"

于 2013-08-12T08:35:03.787 に答える
0

内部結合には次のクエリを使用します

$sql="SELECT  firm.name ,address_physical_line_1 , fax_1 , phone_1 FROM 
contactctdetails  INNER JOIN firm ON contactdetails.fk_firm_id=$id"; 
于 2013-08-12T08:30:43.237 に答える