我需要连接两个表,每个表必须具有共同的关系。
一个表用于“购买”,另一个表用于“付款”,两者均与“客户”表直接相关。
我尝试过,但无济于事。
SELECT c.id AS idclient, c.name AS nameclient, p.id AS idpayment, cp.id AS idpurchases
FROM clients AS c
RIGHT JOIN payments AS p ON c.id = p.client
RIGHT JOIN purchases AS cp ON c.id = cp.client
这些表具有当前不需要的不同结构和其他字段。这些字段基本上就是选择的字段。
据我所知,您需要LEFT JOIN
。意味着您的客户没有购买,也没有付款。或客户正在购买但仍未付款没有客户就没有购买也没有付款!
SELECT c.id AS idclient, c.name AS nameclient,
p.id AS idpayment,
cp.id AS idpurchases
FROM clients AS c
LEFT JOIN payments AS p ON c.id = p.client
LEFT JOIN purchases AS cp ON c.id = cp.client
可能的输出[idclient,name, idpay,idPur]
[1,A,2,3]
-好的[2,B,null,4]
-没有付款:确定[3,C,null,null]
-无需购买,无需付款:确定
或使用JOIN(inner)
来获取无空值[1,A,2,3]