Насколько я вижу, вам нужно 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]
SELECT c.id AS idclient, c.name AS nameclient,
p.id AS idpayment,
cp.id AS idpurchases
FROM purchases AS cp
//left if wanted all record
//inner : now only all columns populated
JOIN payments AS p ON cp.client = p.client
JOIN clients AS c ON c.id = cp.client