Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 左联接3个缺少某些字段的表(NULL)_Mysql_Sql - Fatal编程技术网

Mysql 左联接3个缺少某些字段的表(NULL)

Mysql 左联接3个缺少某些字段的表(NULL),mysql,sql,Mysql,Sql,我有一个包含3个表的数据库:company、address、contact,其中基本上分别包含了关于公司本身、地址和联系信息的一些数据。现在,并非所有公司都有地址信息和联系方式。我试图查询数据库,以显示所有公司的列表:表中包括公司名称、地址和联系电话。因此,我使用如下查询: SELECT company.inn, company.name, company.ceo, address.city, contact.phone FROM company JOIN address

我有一个包含3个表的数据库:company、address、contact,其中基本上分别包含了关于公司本身、地址和联系信息的一些数据。现在,并非所有公司都有地址信息和联系方式。我试图查询数据库,以显示所有公司的列表:表中包括公司名称、地址和联系电话。因此,我使用如下查询:

SELECT company.inn, company.name, company.ceo, address.city, contact.phone
    FROM company 
    JOIN address
    JOIN contact
    ON company.id = address.company_id AND company.id = contact.company_id
工作很好,但它不会返回既没有地址也没有联系人或两者都没有的公司。然后我尝试发出一个left join命令:

SELECT company.inn, company.name, company.ceo, address.city, contact.phone
    FROM company 
    LEFT JOIN address
    LEFT JOIN contact
    ON company.id = address.company_id AND company.id = contact.company_id
我得到了这个错误:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1

ON
必须在
JOIN
之后定义。你可以在这里阅读文档

你怎么知道的?阅读提供的文档,那里有一些很好的例子@tnsaturday我的意思是你从上到下阅读,或者只是搜索特定的案例?对我来说,这似乎是压倒性的。你的意思是发现了错误吗?这对一些人来说是相当引人注目的。特别是对于使用它数千次或数百万次的人。如果它确实回答了您的问题,请不要忘记将其标记为答案:)非常感谢您以非常容易理解的方式快速回答问题!如果您有多个地址和联系人,则可能无法获得预期的结果。如果是这样,用样本数据和期望的结果问一个新问题。
SELECT company.inn, company.name, company.ceo, address.city, contact.phone
FROM company 
LEFT JOIN address
ON company.id = address.company_id
LEFT JOIN contact 
ON company.id = contact.company_id