У меня есть запросы, которые отображают некоторые данные, затем я оставляю соединение с одной таблицей, но есть время, в этой таблице нет данных.
Можно ли добавить запрос условного левого соединения или предложение where?
$sql = "SELECT
mm.idno as idno,
TRIM(UPPER(CONCAT(mm.fname, ' ', mm.mname, ' ', mm.lname))) as fullname,
TRIM(UPPER(mm.branchname)) as branchname,
TRIM(UPPER(mm.address)) as outlet_address,
(SUM(dr.totalamt)/GREATEST(1,COUNT(DISTINCT drr.id)) - SUM(drr.totalamt)/GREATEST(1,COUNT(DISTINCT dr.id))) as total_amount
FROM 8_membermain mm
LEFT JOIN 8_directsalessummary dr
ON mm.idno = dr.idno
LEFT JOIN 8_drreturnsummary drr
ON mm.idno = drr.idno
WHERE mm.status > 0 AND dr.status = 1
AND dr.ispaid = 'Full Payment'
AND dr.trandate BETWEEN '".$date1."' AND '".$date2."'
AND drr.trandate BETWEEN '".$date1."' AND '".$date2."'";
иногда нет данных для ввода в 8_drreturnsummary
, но я добавил AND drr.trandate BETWEEN '".$date1."' AND '".$date2."'"
, поэтому в моем запросе есть ошибка. Я просто хочу, чтобы 8_drreturnsummary
был необязательным / условным, а также WHERE ... AND drr.trandate
. Я пытался любым возможным способом, но я потерпел неудачу.