Я хочу показать данные, если их нет. Мой запрос:
SELECT t.idtest,
t.testkhusus,
t.biayakhusus,
t.uangmuka,
t.total,
t.tanggallunas,
t.biayatambahan,
p.namaperusahaan,
(Sum(jth.tarifpsikolog) + Sum(jth.tarifadministrasi) + Sum(jth.tariftester)) AS biayadll
FROM test t
INNER JOIN perusahaan p
ON t.perusahaan_idperusahaan=p.idperusahaan
INNER JOIN (jadwaltest jt
INNER JOIN jadwaltest_has_biayatimelostcost jth
ON jt.idjadwaltest = jth.idjadwaltest)
ON t.idtest = jt.test_idtest
WHERE t.tanggallunas BETWEEN '2018-05-22' AND '2018-05-23'
Если пустые данные не должны показывать строку.
Я хочу, чтобы результат mysql_num_rows() равен 0 вместо 1.
Пожалуйста, помогите, спасибо.. [! [Введите описание изображения здесь] [2]] [2]
Вам нужно определить агрегирующий столбец в GROUP BY
.
Проверьте мою простую скрипку:
http://sqlfiddle.com/#!9/cae193/5
select SUM(amount)
from t1
where 0=1;
select SUM(amount)
from t1
where 0=1
group by id
В первом сценарии он возвращает пустую строку с null
даже если нечего обобщать.
Но во втором с GROUP BY
он не возвращает строк.
В вашем случае это может быть GROUP BY t.idtest
или что угодно и/или вам нужно