PHP MySQL:连接3个表,但

PHP MySQL:连接3个表,但,mysql,Mysql,我有3个表,errorcode表,description表和customer表 下面的查询将显示errorcode_表中的所有记录,我有一个内部联接,它还将根据两个表中的序列号显示customer_表 SELECT errorcode_table.error, errorcode_table.deviceserialnumber, customer_table.serialnumber, customer_table.customer, FROM errorcode_table I

我有3个表,errorcode表,description表和customer表

下面的查询将显示errorcode_表中的所有记录,我有一个内部联接,它还将根据两个表中的序列号显示customer_表

SELECT 

errorcode_table.error, 
errorcode_table.deviceserialnumber, 
customer_table.serialnumber,
customer_table.customer,

FROM errorcode_table 

INNER JOIN customer_table

ON errorcode_alert_table.deviceserialnumber = customerinfo_table.serialnumber
现在我还想显示错误代码的描述,下面是我的尝试:

SELECT 

errorcode_table.error, 
errorcode_table.serialnumber, 
customer_table.serialnumber,
customer_table.customer,
description.serialnumber
description.info

FROM errorcode_table 

INNER JOIN customer_table
RIGHT JOIN description_table

ON errorcode_table.deviceserialnumber = customer_table.serialnumber
ON errorcode_table.deviceserialnumber = description_table.serialnumber

现在我没有任何记录了。请协助。

每个连接的
ON
子句应在每个连接条件后立即出现。您还可以引入表别名,使查询更易于阅读

SELECT 
    e.error, 
    e.serialnumber,
    c.serialnumber,
    c.customer,
    d.serialnumber,
    d.info
FROM errorcode_table e
INNER JOIN customer_table c
    ON e.deviceserialnumber = c.serialnumber
RIGHT JOIN description_table d
    ON e.deviceserialnumber = d.serialnumber;

我没有任何记录
。。。更糟糕的是,您应该会得到一个错误,因为该查询使用了无效语法。每个联接的
ON
子句应在每次联接后立即出现,而不是全部出现在末尾。@TimBiegeleisen谢谢您的建议,我知道我最不擅长格式化。如果我能向你学习就太好了。我当然明白你的意思:)