Извините, если это глупый вопрос, но в последнее время он не использует много SQL-запросов и не может найти много помощи по этому поводу.MySQL показывает все столбцы при использовании предложения WHERE
Мне нужно, чтобы все строки отображались в результате, даже если результат равен 0 или null. Проблема, которую я имею, связана с предложением WHERE (без WHERE все строки отображаются, но данных нет).
SELECT SUM(c.amount) AS 'total_income', p.ref_id AS 'property'
FROM property p
LEFT JOIN contract c
ON p.id = c.property_ref_id
LEFT JOIN contract_payment cp
ON c.id = cp.contract_id
WHERE cp.paid = 1 AND year(cp.date_paid) = :year
GROUP BY p.id
Отображение результирующего набора без Where и Неверные данные были бы как этот
array
0 =>
array
'total_income' => null
'property' => string 'test/0001' (length=9)
1 =>
array
'total_income' => null
'property' => string 'test/0002' (length=9)
2 =>
array
'total_income' => string '200' (length=3)
'property' => string 'test/0003' (length=9)
3 =>
array
'total_income' => string '16100' (length=5)
'property' => string 'test/0004' (length=9)
Хотя это результат устанавливается с предложением WHERE и хорошие данные, но не все строки
array
0 =>
array
'total_income' => string '4200' (length=4)
'property' => string 'test/0004' (length=9)
Может ли кто-нибудь прокомментировать меня, какие изменения могут быть внесены в SQL, чтобы получить нужные данные?
Я думаю, что вы имеете в виду строки, а не столбцы. – Barmar
Вы правы Barmar, Отредактированный вопрос. –